【问题标题】:Is gradle stored in a nexus repo?gradle 是否存储在 nexus repo 中?
【发布时间】:2021-02-08 18:39:04
【问题描述】:

这是用于下载 gradle 本身。我正在尝试尽可能轻松地将其缓存在公司网络中。如果 gradle 在上游的 nexus repo 中可用,那么我可以将包装器的 distributionUrl 指向内部 nexus。

Maven 在 maven Central 中可用,这很方便,我正在尝试寻找类似的解决方案。 https://search.maven.org/search?q=g:org.apache.maven%20a:apache-maven

我确实找到了,但我想知道是否有更官方的东西。 https://github.com/hazendaz/gradle https://search.maven.org/search?q=g:com.github.hazendaz.gradle%20a:gradle

感谢您的宝贵时间

【问题讨论】:

    标签: gradle nexus


    【解决方案1】:

    很遗憾,没有。 Gradle Wrapper JAR 未发布到 Maven 存储库,例如 Nexus。

    您可以在this 行看到实际下载发生的位置。进一步挖掘你可以看到hereGradle 使用较低级别的 Java 机制来下载包装器。

    所有 Gradle 发行版都可在此处获得:https://services.gradle.org/distributions/。如果您查看version information,有一个 JSON 文件,其中包含最新发布版本。我对管理 Nexus 并不完全熟悉,但如果你能以某种方式创建某种插件来轮询该版本信息,那么如果它在 Nexus 中不可用/缓存,则可以下载它。

    【讨论】:

      【解决方案2】:

      使用 Nexus 时,您可以为 https://services.gradle.org/distributions 创建一个 raw (proxy) 存储库。这将代理所有请求。

      在本例中,存储库名为 gradle-distributions。这允许您使用:

      curl https://nexus.example-organisation.com/repository/gradle-distributions/gradle-6.9.1-wrapper.jar.sha256
      e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637
      

      代替:

      curl https://services.gradle.org/distributions/gradle-6.9.1-wrapper.jar.sha256
      e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637
      

      那么在gradle-wrapper.properties你可以使用:

      distributionUrl=https://nexus.example-organisation.com/repository/gradle-distributions/gradle-6.9.1-bin.zip
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-16
        • 2016-08-16
        • 2018-03-28
        • 2014-04-22
        • 1970-01-01
        • 1970-01-01
        • 2015-04-22
        • 2019-02-04
        相关资源
        最近更新 更多