2013-07-04 90 views
5

我的build.gradle出現了構建錯誤。gradle - 無法從maven回購找到依賴關係

apply plugin: 'java' 
apply plugin: 'idea' 

sourceCompatibility = 1.7 
version = '1.0' 

repositories { 
    mavenLocal() 
    mavenCentral() 
} 

dependencies { 
    compile 'org.foo.group:my-artifact:0.0.1-final' 
} 

組,工件和版本都是正確的。我曾與Maven項目試了一下,構建是成功的,但在項目的gradle它給了我以下錯誤:

:jar UP-TO-DATE 
:assemble UP-TO-DATE 
:compileTestJava UP-TO-DATE 
:processTestResources UP-TO-DATE 
:testClasses UP-TO-DATE 
:test 

FAILURE: Build failed with an exception. 

* What went wrong: 
Could not resolve all dependencies for configuration ':testRuntime'. 
> Could not find org.foo.group:my-artifact:0.0.1-final. 
    Required by: 
     :my-gradle-project:1.0 

* Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 
tlin-deploy-tool 
BUILD FAILED 
+0

如果本地Maven回購包含模塊的POM,但不包含它的工件,則會發生這種情況。是這樣嗎? –

+0

@彼得:不,這不是問題。即使您從本地回購中刪除了工件,也會引發相同的錯誤。 – mhshams

+1

僅供參考,如果您遇到@PeterNiederwieser描述的情況,您可能會遇到[使用POM本地Maven中的Dependency並且沒有JAR文件導致依賴性解析失敗](https://issues.gradle.org/browse/ GRADLE-2709) – Alberto

回答

8

我不知道哪裏出了問題,而是要設法檢查Maven和gradle這個是使用相同的.m2存儲庫路徑。它應與這些選項可以清楚地顯示:

  • MVN -X
  • --debug的gradle

對於gradle這個,將示出這個特定的消息時,一個罐子不能從MavenLocal找到;將顯示.m2存儲庫路徑:

23:44:08.152 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver] Resource not reachable for org.foo.group#my-artifact;0.0.1-final: res=MissingResource: /home/wisent/.m2/repository/org/foo/group/my-artifact/0.0.1-final/my-artifact-0.0.1-final.jar

+0

謝謝你。 maven中央存儲庫中缺少父pom。 – mhshams

+0

但是你的maven項目可以用相同的依賴關係來構建它。奇怪的。 – ceilfors

+0

是啊,似乎maven並不在乎父母。 – mhshams