2015-06-11 16 views
5

Oto jak mój moduł aplikacji „app” budowania Gradle wygląda następująco:Gradle plugin „com.android.library” nie szukaj w niestandardowych repozytoria maven

apply plugin: 'com.android.application' 

repositories { 
    maven { url 'http://localhost:8080/repository/internal/' } 
} 

... 

dependencies { 
    compile 'org.apache.httpcomponents:httpmime:4.2.3' 
    compile 'com.testpackage.networking:networking:1.0.3' 
} 

i to działa dobrze. Próbuję użyć tej samej zależności w moim module bibliotecznym o nazwie "biblioteka librarymoduł". Oto jak wygląda jego build.gradle:

apply plugin: 'com.android.library' 

repositories { 
    maven { 
     url 'http://localhost:8080/repository/internal/' 
    } 
} 

... 

dependencies { 
    compile 'org.apache.httpcomponents:httpmime:4.2.3' 
    compile 'com.testpackage.networking:networking:1.0.3' 
} 

Jedyną różnicą jest Gradle plugin 'com.android.library' użyty tutaj vs 'com.android.application użyte w module 'app'.

Error:A problem occurred configuring project ':app'. Could not resolve all dependencies for configuration ':app:_debugCompile'. Could not find com.testpackage.networking:networking:1.0.3. Searched in the following locations: https://jcenter.bintray.com/com/testpackage/networking/networking/1.0.3/networking-1.0.3.pom https://jcenter.bintray.com/com/testpackage/networking/networking/1.0.3/networking-1.0.3.jar file:/Users/myusername/Library/Android/sdk/extras/android/m2repository/com/testpackage/networking/networking/1.0.3/networking-1.0.3.pom file:/Users/myusername/Library/Android/sdk/extras/android/m2repository/com/testpackage/networking/networking/1.0.3/networking-1.0.3.jar file:/Users/myusername/Library/Android/sdk/extras/google/m2repository/com/testpackage/networking/networking/1.0.3/networking-1.0.3.pom file:/Users/myusername/Library/Android/sdk/extras/google/m2repository/com/testpackage/networking/networking/1.0.3/networking-1.0.3.jar Required by: LibrariesApplication:app:unspecified > LibrariesApplication:librarymodule:unspecified

Tak, z jakiegoś powodu nie ma http://localhost:8080/repository/internal/com/testpackage/networking/networking/1.0.3/networking-1.0.3.pom pod wyszukiwany w następujących lokalizacjach lista.

To nie tylko moje problemy z repozytorium. Mogę na przykład użyć

maven { url 'https://mint.splunk.com/gradle/' } 

repozytorium z uzależnienia

compile 'com.splunk.mint:mint:4.1' 

i wciąż się podobny błąd

Czy ktoś wie jak to naprawić?

Odpowiedz

2

To trochę dziwne, ale dodanie niestandardowego repozytorium do "wszystkich projektów" root build.gradle faktycznie zadziałało!

allprojects { 
    repositories { 
     jcenter() 

     maven { 
      url 'http://localhost:8080/repository/internal/' 
     } 
    } 
} 
+0

To pozwoliło mi rozwiązać zależność słoiku w jednym maven repo patrząc w innym –

-1

Jeśli nie chcesz umieścić poświadczenia Maven w pliku projektu (i nie powinien), stworzenie „gradle.properties” plik w katalogu domowym i umieścić poświadczenia Maven w tym pliku jak:

mavenUser=myUser 
mavenPassword=myPassword 

Następnie w pliku build.gradle, korzystanie następująco:

maven { 
    credentials { 
     username mavenUser 
     password mavenPassword 
    } 
    url http://my.maven.url 
}