Gradle 4+无法解决来自自定义Maven存储库的快照依赖关系

时间:2018-12-26 05:17:37

标签: gradle

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中,我看不到使用多个存储库的任何特殊要求,不确定什么地方出错了。

2 个答案:

答案 0 :(得分:0)

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

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

如果此答案无济于事,请提供更多上下文,例如错误消息和堆栈跟踪。

答案 1 :(得分:0)

14:17:50: Executing task 'build'...
  

任务:compileJava失败

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