2014-07-16 46 views
2

我無法解決已發佈到我自己的以「-SNAPSHOT」結尾的artifactory服務器的依賴關係。gradle compile似乎無法解析「-SNAPSHOT」依賴項,即使它們存在於artifactory中

我得到的錯誤:

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

我想通過增加依賴版本1.0.2或更高的每this link,它可能會解決這個問題,但它沒有任何效果。

我已關閉快照回購的唯一版本號(時間戳)。我還可以看到這些文物確實在我的作品中,而且我沒有錯別字。只要我發佈諸如'1.0.0'的常規版本,我就可以解決它們。這裏是我的build.gradle的一部分:(是的,我沒有使用artifactory的插件,我希望能儘快移動到。)

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

這完全是我自己的錯,但我會回答我自己的問題。定義的「中央」回購實際上並不包含「-SNAPSHOT」所在的快照回購。我曾經認爲它確實如此。在我們公司的背景下,「中央」是一個虛擬倉庫,包含一些回購倉庫,但不包括倉庫回購倉庫。我實施了一個解決方案,我發現here。或者我可以剛剛將存儲庫與「中央」存儲庫一起聲明。

3

從錯誤輸出,似乎有些依賴性聲明不正確如"com-company-common:1.0.0-SNAPSHOT"而不是"com-company:common:1.0.0-SNAPSHOT"

+0

我看到了,但我認爲這是輸出本身的錯誤。我不知道如何可能,因爲變量「commonDep」和「newCommonDep」(在依賴關閉中使用)似乎沒有這種格式。不過,我會仔細看看我的構建腳本。 – jcd

+0

您可以通過打開'--info'或'--debug'日誌來驗證使用哪個依賴關係座標。 –

+0

這似乎不是特定於Gradle的問題,而是Maven。我將該項目設置爲maven項目,並且遇到同樣的錯誤。 – jcd

相關問題