gradle编译似乎无法解决" -SNAPSHOT"依赖关系,即使它们存在于神器中

时间:2014-07-16 01:37:20

标签: gradle build.gradle

我无法解析我发布到以“-SNAPSHOT”结尾的神器服务器的依赖项。

我收到错误:

Could not find com.company:common:1.0.0-SNAPSHOT.
Required by:
com.company:Intranet:1.0.0-SNAPSHOT

我认为通过将依赖版本增加到每this link 1.0.2或更高版本可以解决问题,但它没有效果。

我已关闭快照存储库上的唯一版本号(时间戳)。我也可以看到文物确实在我的神器中,而且我没有错别字。一旦我发布了诸如“1.0.0”的常规版本,我就能够解决它们。这是我的build.gradle的一部分:(是的,我没有使用神器插件,我希望尽快转向。)

apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'maven'

group = 'com.company'
version = '1.0.0-SNAPSHOT'

def commonDep = "com.company:common:1.0.0-SNAPSHOT"
def newCommonDep = "com.company:new-common:1.0.0-SNAPSHOT"

configurations {
    deployerJars
    overlayJars
}

//From the maven plugin
uploadArchives {
    repositories.mavenDeployer {
        uniqueVersion = false
        configuration = configurations.deployerJars
        snapshotRepository(url:"${artifactory_contextUrl}/ident-snapshot") {
        authentication(userName: "${artifactory_user}", password:       
        "${artifactory_password}")
    }
    repository(url:"${artifactory_contextUrl}/ident-release") {
        authentication(userName: "${artifactory_user}", password: 
       "${artifactory_password}")
    }
}
}

repositories {
    mavenCentral()
    maven {
        url "${artifactory_contextUrl}/central"
        credentials {
            username = "${artifactory_user}"
            password = "${artifactory_password}"
    }
}
}

dependencies {

//jar used for maven deploy
deployerJars "org.apache.maven.wagon:wagon-http:2.2"

//grab newCommon and common war to do an overlay with the intranet war
overlayJars commonDep + '@war', newCommonDep + '@war'

compile commonDep + ':classes'
compile newCommonDep + ':classes'

providedCompile 'javax:javaee-api:7.0'

}

2 个答案:

答案 0 :(得分:3)

从错误输出中,似乎某些依赖项被错误地声明为"com-company-common:1.0.0-SNAPSHOT"而不是"com-company:common:1.0.0-SNAPSHOT"

答案 1 :(得分:2)

这完全是我自己的错,但不过我会回答我自己的问题。 "中心" repo定义实际上并没有包含快照repo所在的" -SNAPSHOT"找到了。我以为它做到了。 "中部"在我们公司的上下文中是一个包含一些回购的虚拟仓库,但不是快照回购。我实施了一个我发现here的解决方案。或者我可以在" central"旁边宣布存储库。一。