【问题标题】:Gradle 4+ can't resolve snapshots dependency from custom Maven repositoriesGradle 4+ 无法解析来自自定义 Maven 存储库的快照依赖项
【发布时间】:2018-12-26 05:17:36
【问题描述】:

build.gradle 中,我们可以声明多个存储库,包括自定义的 Maven 存储库。就我而言,我使用两个自定义 Maven 存储库:一个用于发布,一个用于快照。还有一个mavenCentral 存储库。例如:

repositories {
maven {
    url 'http://xxxx:8080/repository/internal'
}
maven {
    url 'http://xxxx:8080/repository/snapshots'
}
mavenCentral()
}

dependencies {
compile 'xxxx:xxxx:1.0-SNAPSHOT'
}

Gradle 2.x 可以从http://xxxx:8080/repository/snapshots 解析SNAPSHOT 库。但是,Gradle 4.x 和 5.x 无法解析 SNAPSHOT 库。

https://docs.gradle.org/current/userguide/declaring_repositories.html 看,我没有看到使用多个存储库的任何特殊要求,不确定是什么问题。

【问题讨论】:

    标签: gradle


    【解决方案1】:

    如果您在第一个存储库中存在工件,Gradle 将忽略 Gradle 4.x 中的第二个。我不记得 Gradle 2.x 中的确切行为,但它确实可能非常不同。

    解决该问题的一种方法是切换存储库的顺序,假设第二个存储库从不包含发布工件。另一种解决方案是清除 internal 中的所有快照。

    如果此答案没有帮助,请提供更多上下文,例如错误消息和堆栈跟踪。

    【讨论】:

    • 感谢您的 cmets。我试过你的建议,但它确实有效。如果我先放快照,那么它最终无法找到位于内部存储库中的任何发布库。
    • 如果是这种情况,那么这是否意味着我们不应该在 build.gradle 中包含多个存储库?这听起来不对。
    【解决方案2】:
    14:17:50: Executing task 'build'...
    

    任务:编译Java失败

    FAILURE:构建失败并出现异常。

    【讨论】:

    • 一些日志供参考
    猜你喜欢
    • 2014-10-17
    • 2019-11-19
    • 1970-01-01
    • 2014-11-25
    • 1970-01-01
    • 2021-03-05
    • 2021-11-24
    • 2013-09-25
    • 2017-05-06
    相关资源
    最近更新 更多