【问题标题】:What is the gradle equivalent of maven repository mirrors?maven 存储库镜像的 gradle 等价物是什么?
【发布时间】:2014-11-17 19:35:07
【问题描述】:

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

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

【问题讨论】:

  • 有一个类似的问题提供了一些建议。公认的答案是使用初始化脚本:stackoverflow.com/questions/13210037/…
  • @ken 我不喜欢 13210037 的公认答案,它太笼统,没有帮助。

标签: maven gradle


【解决方案1】:

你可以定义一个custom repository 如:

// build.gradle or settings.gradle
repositories {
  maven {
    url "http://repo1.mycompany.com/maven2"
  }
  maven {
    url "http://repo2.mycompany.com/maven2"
  }
}

如果您想跨项目共享此定义,请将其移至 init script

【讨论】:

  • 谢谢!这些建议似乎与原始问题中的建议没有什么不同...
  • @Armand 您可以使用像 Artifactory/Nexus 这样的服务器,这将是您使用的唯一存储库,它将代理对外部存储库的调用,保留公司范围的缓存等。
  • 这是真的!但是 OP 指的是透明地镜像存储库(例如,用于第三方依赖项),而不是为每个项目修改 build.gradle
  • 将存储库声明放入USER_HOME/.gradle/ 目录或GRADLE_HOME/init.d/ 中名为init.gradle 的文件中将相当于使用Maven 和settings.xml 的Gradle。这就是OP所指的吗?
  • 这个link 也很有帮助。
【解决方案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

更多信息:

【讨论】:

    猜你喜欢
    • 2019-09-14
    • 2018-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    • 2014-05-08
    • 2011-06-24
    • 2014-06-12
    相关资源
    最近更新 更多