2015-07-04 109 views
1

我有一种依赖,看起来像这样:摇篮正确解决依赖的artifactId

dependencies { 
    apt 'io.sweers.barber:barber-compiler:1.3.0' 
    compile 'io.sweers.barber:barber-api:1.3.0' 
} 

这种依赖性不会同时存在于jcenter和mavenCentral,但每当gradle这个解决它,它使用了不正确的artifactId(去掉了“理发师-“ 字首)。

Error:Could not find io.sweers.barber:api:1.3.0. 
Searched in the following locations: 
    https://jcenter.bintray.com/io/sweers/barber/api/1.3.0/api-1.3.0.pom 
    https://jcenter.bintray.com/io/sweers/barber/api/1.3.0/api-1.3.0.jar 
    https://maven.fabric.io/public/io/sweers/barber/api/1.3.0/api-1.3.0.pom 
    https://maven.fabric.io/public/io/sweers/barber/api/1.3.0/api-1.3.0.jar 
    file:/Users/hsweers/dev/android/android-sdk/extras/android/m2repository/io/sweers/barber/api/1.3.0/api-1.3.0.pom 
    file:/Users/hsweers/dev/android/android-sdk/extras/android/m2repository/io/sweers/barber/api/1.3.0/api-1.3.0.jar 
    file:/Users/hsweers/dev/android/android-sdk/extras/google/m2repository/io/sweers/barber/api/1.3.0/api-1.3.0.pom 
    file:/Users/hsweers/dev/android/android-sdk/extras/google/m2repository/io/sweers/barber/api/1.3.0/api-1.3.0.jar 
Required by: 
    MyAppProject.app:unspecified > io.sweers.barber:barber-compiler:1.3.0 

如果相关性会正确解析到https://jcenter.bintray.com/io/sweers/barber/barber-api/1.3.0/barber-api-1.3.0.pom

如果有帮助,图书馆可以在这里找到:https://github.com/hzsweers/barber

+0

如果我从'dependencies'中删除'apt'io.sweers.barber:barber-compiler:1.3.0'',Gradle似乎找到了依赖关系,或者至少处理了'build.gradle'文件没有问题。随着那条线在那里,它打破了你在你的问题中显示的错误。不知道这意味着什么,但也许这对你来说是一个有用的线索。 – CommonsWare

+0

是的,我认为我已经缩小了一点,这是图书馆发行本身的一个问题。它用编译器模块中生成的POM替换为具有mavencentral所需信息的自定义POM。事情是,由此产生的POM指定了错误的artifactId。去挖更多 –

回答

0

原来,问题是某处在我的图书馆,并导致了所产生的POM编译器模块使用api模块名称而不是它的artifactId。现在修补它