在从1.12到2.14的gradle升级后无法找到快照依赖项

时间:2016-06-24 00:35:18

标签: maven gradle dependencies repository snapshot

gradle1.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构建时,它会下载正确的快照。

2 个答案:

答案 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版本时,下划线工作正常。