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倉庫密碼'
}
}
}
}