java~gradle构建公用包并上传到仓库

java~gradle构建公用包并上传到仓库

我们一般会把公用的代码放在一个包里,然后其它 项目可以直接使用,就像你使用第三方包一样!

仓库

存储包的地方叫做仓库,一般可以分为本地仓库和远程仓库,本地一般用mavenLocal表示,在build.gradle中我们都可以看到,一般在安装包时,会优先从本地仓库下载,这样速度是最快的;远程仓库可以在世界各地使用你的包包,提高了代码的重用,面向对象里叫做DRY原则。

一 发到本地仓库

bootJar.enabled = false表示你生成一个类库项目,jar.enabled = true表示需要生成一个jar文件。

// 类型项目需要是非启动项目,所以有以下设置
bootJar.enabled = false // 不要求启动项目,不需要main方法
jar.enabled = true // 需要在build/libs下生成jar文件

apply plugin: "maven-publish"
task sourceJar(type: Jar) {
    from sourceSets.main.allJava
    classifier "sources" //定义一个标志 (生成的jar包后面加上sources, 如: jlib-2.2.11-sources.jar)
}

publishing {
    publications {
        maven(MavenPublication) {
            from components.java    
            artifact sourceJar
        }
    }

    //定义目标仓库 (包所存放的地方)
    repositories {
        mavenLocal()
    }
}

私有仓库如果添加用户名和密码

repositories {
    maven {

        if (project.version.endsWith('-SNAPSHOT')) {
            url = "快照版本的nexus仓库地址"
        } else {
            url = "release版本的仓库地址"
        }

        credentials {
            username 'nexus仓库用户名'
            password 'nexus仓库密码'
        }
    }
    }
}
posted @ 2019-01-07 17:19 张占岭 阅读(...) 评论(...) 编辑 收藏