如何强制gradle在Maven系统范围内使用/共享~/.m2/存储库?

如何强制gradle在Maven系统范围内使用/共享~/.m2/存储库?,gradle,Gradle,默认情况下,Gradle使用~/.Gradle/cache作为Maven工件的缓存 我还使用Maven并在~/.m2/settings.xml中设置代理和存储库URL,不希望将此设置复制到Gradle 官方解决方案是添加: repositories { mavenCentral() mavenLocal() # <== THIS } 存储库{ mavenCentral() mavenLocal()#我通常希望构建脚本使用mavenLocal,需要多模块项目,有时需要禁用它,因此

默认情况下,Gradle使用
~/.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我正在寻找这样的解决方案。