java~gradle構建(jian)公用(yong)包并上傳到倉庫
java~gradle構建公用包并上傳到倉庫
我們一(yi)般(ban)會(hui)把公用(yong)(yong)的代碼放在一(yi)個包(bao)里,然后其它 項目可以直接使用(yong)(yong),就像你(ni)使用(yong)(yong)第三方包(bao)一(yi)樣!
倉庫
存儲包的地方叫做倉庫,一般可以分為本地倉庫和遠程倉庫,本地一般用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倉庫密碼'
}
}
}
}