使用Maven项目时,我喜欢为各种第三方存储库配置本地镜像(例如Artifactory)。我通过主目录中的settings.xml
文件执行此操作。
我找不到Gradle的类似设置 - 所有文档似乎建议添加新的存储库,而不是代理/镜像已经定义的repos的调用。这没有同样的效果。有没有一种简单的方法来代理Gradle中的远程Maven或Ivy存储库?
答案 0 :(得分:5)
您可以定义custom repository,例如:
// build.gradle
repositories {
maven {
url "http://repo.mycompany.com/maven2"
}
}
如果您想跨项目共享此定义,请将其移至init script
答案 1 :(得分:2)
我们有一个内部Artifactory存储库,该存储库配置有用于库和插件,发行版和快照版本的单独路径。
与~/.m2/settings.xml
等效,我使用了以下~/.gradle/init.gradle
文件:-
allprojects {
buildscript {
repositories {
mavenLocal()
maven { url "https://internal.example.com/artifactory/libs-releases" }
maven { url "https://internal.example.com/artifactory/libs-snapshots" }
maven { url "https://internal.example.com/artifactory/atlassian-cache" }
}
}
repositories {
mavenLocal()
maven { url "https://internal.example.com/artifactory/plugins-releases" }
maven { url "https://internal.example.com/artifactory/plugins-snapshots" }
maven { url "https://internal.example.com/artifactory/atlassian-cache" }
}
}
buildscript
块是指您的构建所使用的gradle插件的搜索位置。repositories
块是指搜索项目相关性的位置。mavenLocal()
是指本地文件系统存储库~/.m2/repository
。更多信息: