如何将自定义maven存储库添加到gradle

时间:2016-03-29 10:48:55

标签: android maven gradle android-gradle

我的maven存储库包含位于https://cloudbuild.myompany.com/nexus/content/repositories/test_kirill/com/myompany/myompany-core/2.0.0/

的aar文件

顺便说一下,它是私有存储库,因此当我登录时,我应该使用凭据。

当我尝试将此添加到我的依赖项时,gradle会向我显示错误Failed to resolve

apply plugin: 'com.android.application'

repositories {
    mavenCentral()


    maven {
        credentials {
            username 'admin'
            password '*******'
        }
        url 'https://cloudbuild.myompany.com/nexus/content/repositories/test_kirill/'
    }
}

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "ko.com.myapplication"
        minSdkVersion 8
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.2.1'
    compile 'com.android.support:design:23.2.1'
    compile group: 'com.myompany', name: 'myompany-core', version: '2.0.0'
}

还有来自2.2.0文件夹的POM文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.myompany</groupId>
<artifactId>myompany-core</artifactId>
<version>2.0.0</version>
<packaging>gradle</packaging>
<description>POM was created by Sonatype Nexus</description>
</project>

2 个答案:

答案 0 :(得分:6)

你可能想试试这个:

repositories {
    mavenCentral()

    maven {
        credentials {
            username 'admin'
            password '*******'
        }
        url 'https://cloudbuild.livegenic.com/nexus/content/repositories/test_kirill/'
        authentication {
            basic(BasicAuthentication)
        }
    }
}

有关详细信息,请参阅此讨论: https://discuss.gradle.org/t/maven-username-password-only-works-when-embedded-in-url-for-some-servers/2542/13

答案 1 :(得分:1)

官方文档在这里解决了这个问题:

https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:maven_repo

官方文档包括 Groovy/Kotlin 语法并涵盖一系列选项。