默认情况下,Gradle使用~/.gradle/cache
作为Maven工件的缓存。
我还使用Maven并在~/.m2/settings.xml
中设置代理和存储库网址,并且不希望将此设置复制到Gradle。
官方解决方案是添加:
repositories {
mavenCentral()
mavenLocal() # <== THIS
}
到build.gradle
。这需要更改项目构建脚本,不可接受。
是否可以在系统范围内或在项目外设置此设置(不编辑项目自己的文件)?
答案 0 :(得分:5)
我经常想要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()
}
}
}