Gradle插件'com.android.library'不会搜索自定义maven存储库

时间:2015-06-11 12:41:16

标签: android maven gradle android-gradle

以下是我的应用程序模块'app'构建gradle的样子:

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'
}

它工作得很好。我正在尝试在名为“librarymodule”的库模块中使用相同的依赖项。以下是它的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'
}

唯一的区别是这里使用的gradle插件'com.android.library'与'app'模块中使用的'com.android.application'。

  

错误:配置项目':app'时出现问题。   无法解析配置':app:_debugCompile'的所有依赖项。   找不到com.testpackage.networking:networking:1.0.3。        在以下位置搜索:            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            文件:/Users/myusername/Library/Android/sdk/extras/android/m2repository/com/testpackage/networking/networking/1.0.3/networking-1.0.3.pom            文件:/Users/myusername/Library/Android/sdk/extras/android/m2repository/com/testpackage/networking/networking/1.0.3/networking-1.0.3.jar            文件:/Users/myusername/Library/Android/sdk/extras/google/m2repository/com/testpackage/networking/networking/1.0.3/networking-1.0.3.pom            文件:/Users/myusername/Library/Android/sdk/extras/google/m2repository/com/testpackage/networking/networking/1.0.3/networking-1.0.3.jar        要求:            LibrariesApplication:app:unspecified> LibrariesApplication:librarymodule:未指定的

因此,由于某些原因, http://localhost:8080/repository/internal/com/testpackage/networking/networking/1.0.3/networking-1.0.3.pom 搜索以下位置列表中。

这不仅是我的存储库问题。我可以使用

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

具有依赖性的存储库

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

仍然有类似的错误

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

这有点奇怪,但是将自定义存储库添加到' allprojects' root build.gradle实际上工作了!

allprojects {
    repositories {
        jcenter()

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

答案 1 :(得分:-1)

如果您不想将maven凭据放在项目文件中(并且您不应该),请创建一个" gradle.properties"将文件放在您的主目录中,并将maven凭据放在该文件中,例如:

mavenUser=myUser
mavenPassword=myPassword

然后,在build.gradle文件中,使用如下:

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