2016-08-02 53 views
1

我正在使用Artifactory作爲我的工件存儲庫,並已將其設置爲使其用作jcenter的代理和緩存。除了buildscript區塊在我的build.gradle主區塊中聲明的依賴關係之外,這通常工作正常。通過Artifactory找不到在Gradle buildscript塊中聲明的依賴關係

我的塊看起來像

buildscript { 
    repositories { 
     //proxies jcenter 
     maven { 
      url "https://<myArtiInstance>/artifactory/repo" 
      credentials { 
       username artifactory_reader_username 
       password artifactory_reader_password 
      } 
     } 
    } 
    dependencies { 
     classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.1.1" 
     classpath "com.android.tools.build:gradle:2.1.2" 
    } 
} 

運行gradlew clean build2.10

A problem occurred configuring root project 'android'. 
> Could not resolve all dependencies for configuration ':classpath'. 
    > Could not find builder.jar (com.android.tools.build:builder:2.1.2). 
    Searched in the following locations: 
     https://<myArtiInstance>/artifactory/repo/com/android/tools/build/builder/2.1.2/builder-2.1.2.jar 

的時候如果我怪人上面的網址進入我的(認證)的瀏覽器,我得到的罐子,這給錯誤可以看到它放入arti緩存中。

我的所有其他代理依賴項似乎都起作用,所以我對發生了什麼事情感到困惑。

目前我想知道這是否是Gradle 2.10或其他版本的bug,因爲這用於工作,因爲我可以在arti框中看到此工件的先前緩存版本。

感謝任何幫助或指針:)

編輯:如果我回滾到com.android.tools.build:gradle:2.1.0這是不是在我的緩存回購兩種,構建完成罰款和它緩存它。由於某種原因,它不喜歡2.1.2,我想知道爲什麼?!

EDIT2:問題仍然沒有解決,現在它採取了與問題https://<myArtiInstance>/artifactory/repo/com/google/guava/guava/15.0/guava-15.0.jar這給出了一個類似的錯誤上述

* What went wrong: 
A problem occurred configuring root project '<name>'. 
> Could not resolve all dependencies for configuration ':classpath'. 
    > Could not find guava.jar (com.google.guava:guava:15.0). 
    Searched in the following locations: 
     https://<myAriInstance>/artifactory/repo/com/google/guava/guava/15.0/guava-15.0.jar 

這從buildscript塊內指定的dependecency再次。任何想法發生了什麼?這一次是可以翻譯的,所以我不能交換版本。我從錯誤信息注意到的唯一奇怪的是,它尋找guava.jarguava-15.0.jar結束網址...

+1

嘗試,以獲得更多的信息 –

+0

是我做的Gradle運行與--info或--debug是,永遠是我的第一次停靠港,並沒有看到任何啓發。但是,我又做了一次,導致我修復它!見答案。 – Dori

回答

1

因此,原來的檢查的gradlew clean build --debug輸出第二次,我發現正從獲得的一切當地~/.gradle/cache,除了上面的瓶子失敗。 rm緩存和一切工作正常,傳遞依賴可以從錯誤消息中給出的網址獲得。後續從本地緩存中恢復的構建工作正常。在我看來,某些東西已經破壞了本地緩存(可能是部分下載了完整的資源,例如pom,jar等),並且gradle錯誤消息不正確。

編輯:測試只是刪除從緩存中的罐子,仍編譯罰款......