gradle
从1.12
升级到2.14
后,未识别maven存储库中依赖项的快照版本。存储库已正确设置,maven-metadata.xml
和依赖项存在,并使用1.xx版本的gradle构建。无法从2.xxx的gradle发行说明中找到任何内容。有人遇到过这种情况吗?
以下是我的build.gradle文件。
// Apply the java plugin to add support for Java
apply plugin: 'java'
// In this section you declare where to find the dependencies of your project
repositories {
// Use 'maven central' for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
mavenCentral()
maven {
name = 'Public'
credentials {
username = 'abc'
password = 'abc'
}
url 'http://mydomain/nexus/content/groups/public/'
}
}
// In this section you declare the dependencies for your production and test code
dependencies {
// The production code uses the SLF4J logging API at compile time
compile(
[group: 'com.test.comp', name: 'comp-app-interface', version: "3.0.9_SNAPSHOT"],
[group: 'com.test.comp', name: 'comp-app-common', version: "3.0.10_SNAPSHOT", classifier: 'lib'],
)
// Declare the dependency for your favourite test framework you want to use in your tests.
// TestNG is also supported by the Gradle Test task. Just change the
// testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
// 'test.useTestNG()' to your build script.
testCompile "junit:junit:4.11"
}
以下是使用gradle 2.14构建时出现的错误消息:
FAILURE: Build failed with an exception.
\* What went wrong:
Could not resolve all dependencies for configuration ':COMP-Testing- Common:compileClasspath'.
\> Could not find com.test.comp:comp-app-common:3.0.10_SNAPSHOT.
Searched in the following locations:
file:/C:/Users/myname/.m2/repository/com/test/comp/comp-app-common/3.0.10_SNAPSHOT/comp-app-common-3.0.10_SNAPSHOT.pom
file:/C:/Users/myname/.m2/repository/com/test/comp/comp-app-common/3.0.10_SNAPSHOT/comp-app-common-3.0.10_SNAPSHOT-lib.jar
http://example.com/nexus/content/groups/public/com/test/comp/comp-app-common/3.0.10_SNAPSHOT/comp-app-common-3.0.10_SNAPSHOT.pom
http://example.com/nexus/content/groups/public/com/test/comp/comp-app-common/3.0.10_SNAPSHOT/comp-app-common-3.0.10_SNAPSHOT-lib.jar
Required by:
com.test.comp:COMP-Testing-Common:3.0.10
但是当使用gradle 1.12构建时,它会下载正确的快照。
答案 0 :(得分:0)
该错误表示所需的依赖项i>0
不在任何指定的存储库中。请先检查gradle是对还是错(通过查看给定的存储库)。
要更正错误,请检查是否包含所有相关存储库。如果错误仍然存在,请删除本地Maven存储库和Gradle缓存,然后重试。
答案 1 :(得分:0)
我发现并解决了这个问题。
由于版本号的格式,Gradle不会识别它们是快照。
例如:当版本号和快照之间有下划线时,3.0.9_SNAPSHOT
gradle只是查找该版本的依赖关系。但如果它之间有一个破折号而不是下划线(即3.0.9-SNAPSHOT
),gradle将读取maven-metadata.xml
并找到最新的快照。
使用gradle 1.xxx版本时,下划线工作正常。