M2_HOME和GRADLE_USER_HOME變量
在$M2_HOME/conf/settings.xml
文件中指定Gradle的本地倉庫配置信息。
在$GRADLE_USER_HOME/caches/modules-2/files-2.1
路徑下保存通過Gradle下載的依賴包,Gradle可以直接使用Maven的本地倉庫。
如果沒有明確配置環境變量GRADLE_USER_HOME
,Gradle默認本地倉庫位置爲~/.gradle/caches/modules-2/files-2.1/...
。
那麼如何改變這個位置呢?
方式1:配置環境變量GRADLE_USER_HOME
。
方式2:在每個模塊中都明確指定本地倉庫目錄
uploadArchives {
repositories {
mavenDeployer {
repository(url: uri("D:\\sun\\.gradle\\caches\\modules-2\\files-2.1"))
}
}
}
在$M2_HOME/conf
路徑下指定了settings.xml
文件之後,Gradle在下載依賴時,會優先從settings.xml
文件中指定的本地倉庫路徑中查找依賴,如果未找到則從遠程倉庫下載並保存到$GRADLE_USER_HOME/caches/modules-2/files-2.1
路徑下。
在Gradle模塊中執行publishToMavenLocal
時會將模塊安裝到$M2_HOME/conf/settings.xml
文件中指定的本地倉庫。
因此,如果在settings.xml
中指定的是Maven倉庫,那麼Gradle也可以直接使用Maven的倉庫中的jar包。
如何將Gradle模塊安裝到本地倉庫
使用maven-publish
插件(在模塊build.gradle文件中添加):
plugins {
id 'java'
id 'maven-publish' // 應用maven發佈插件
}
添加publishing
任務(在模塊build.gradle文件中設置):
publishing {
publications {
maven(MavenPublication) {
groupId = 'org.chench.extra'
artifactId = 'test-springframework-logger'
version = '1.0-SNAPSHOT'
from components.java
}
}
}
完成上述配置後,在IDEA中就會多出一個publishing
任務節點,執行publishMavenPublicationToMavenLocal
即可。
【參考】
Local Maven repository
gradle安裝配置及修改倉庫位置
gradle 發佈jar到本地倉庫