如何强制gradle在Maven系统范围内使用/共享~/.m2/存储库?
默认情况下,Gradle使用如何强制gradle在Maven系统范围内使用/共享~/.m2/存储库?,gradle,Gradle,默认情况下,Gradle使用~/.Gradle/cache作为Maven工件的缓存 我还使用Maven并在~/.m2/settings.xml中设置代理和存储库URL,不希望将此设置复制到Gradle 官方解决方案是添加: repositories { mavenCentral() mavenLocal() # <== THIS } 存储库{ mavenCentral() mavenLocal()#我通常希望构建脚本使用mavenLocal,需要多模块项目,有时需要禁用它,因此
~/.Gradle/cache
作为Maven工件的缓存
我还使用Maven并在~/.m2/settings.xml
中设置代理和存储库URL,不希望将此设置复制到Gradle
官方解决方案是添加:
repositories {
mavenCentral()
mavenLocal() # <== THIS
}
存储库{
mavenCentral()
mavenLocal()#我通常希望构建脚本使用mavenLocal,需要多模块项目,有时需要禁用它,因此我在~/.gradle/init.d/mavenLocal.gradle中使用了以下内容:
allprojects { project ->
buildscript {
if( !project.hasProperty('skipMavenLocal') ) {
repositories {
println "Adding buildscript mavenLocal()"
mavenLocal()
}
configurations.all {
resolutionStrategy.cacheChangingModulesFor 0, 'hours'
}
}
}
if( !project.hasProperty('skipMavenLocal') ) {
repositories {
println "Adding mavenLocal()"
mavenLocal()
}
}
}
您涉及到很多问题(cache、settings.xml、mavenLocal()),这使得很难弄清楚问题的确切含义。我不理解最后一句话。您知道init脚本吗(~/.gradle/init.gradle
,请参见)?谢谢!+1我正在寻找这样的解决方案。