什么是maven存储库镜像的gradle等价物?

时间:2014-09-23 14:30:14

标签: maven gradle

使用Maven项目时,我喜欢为各种第三方存储库配置本地镜像(例如Artifactory)。我通过主目录中的settings.xml文件执行此操作。

我找不到Gradle的类似设置 - 所有文档似乎建议添加新的存储库,而不是代理/镜像已经定义的repos的调用。这没有同样的效果。有没有一种简单的方法来代理Gradle中的远程Maven或Ivy存储库?

2 个答案:

答案 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

更多信息: