2016-08-02 58 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错误消息不正确。

编辑:测试只是删除从缓存中的罐子,仍编译罚款......