假设我在内部服务器上运行Sonatype Nexus,我想用它来代理repo1.maven.org和其他存储库。在Maven中,我只需将<mirror>
配置添加到settings.xml
。我怎么能用Gradle做到这一点?
更新:我希望这样做,而无需将我的Nexus实例的网址硬编码到我拥有的每个项目中。所以我正在寻找Maven <mirror>
设置的精确副本。
我现在能想到的最好的事情就是这样做:
repositories {
maven {
url "$nexusUrl/content/groups/public"
}
}
然后在每台开发人员的计算机上~/.gradle/gradle.properties
进行此操作:
nexusUrl = https://nexus.company.com
然而,这看起来很黑,我仍然需要为每个项目添加5行。有更优雅的方式吗?
答案 0 :(得分:14)
初始化脚本可能是最好的方法。请查看User Guide中的这一章。
它们为您提供了一种将逻辑注入所有项目的方法。
答案 1 :(得分:7)
如the documentation和about init scripts中所述:
创建以.gradle
结尾的文件夹和文件,例如:~/.gradle/init.d/mirror.gradle
。
内容:
initscript {
repositories {
maven {
url "http://repo.mycompany.com/maven2"
}
}
}