在 setting.xml 和 Gradle 中使用 Maven 凭据

Use Maven credentials in setting.xml with Gradle

我有一些 Gradle 项目,但我想避免在 build.gradle 文件中显式加载凭据。 我想避免的一个例子是:

        maven {
            credentials {
                username "$maven_user"
                password "$maven_password"
            }
            url 'https://my-maven-repo'
        }

我想避免在 gradle.build 中包含用户名和密码字段,即使这些值可以从本地主机加载,例如从 ~/.gradle/gradle.properties
我想要实现的是从 ~/.m2/settings.xml 加载凭据并在 gradle.build 中仅指定 Maven 存储库 url。
可以吗?我做了几次尝试,但看起来 Gradle 忽略了 settings.xml

中的凭据

尝试 Maven Settings Plugin

这样设置:

新方式:

plugins {
    id 'net.linguica.maven-settings' version '0.5'
}

旧方法(Gradle 2.0 或更早版本):

buildscript {
    repositories {
        maven {
            url 'https://plugins.gradle.org/m2/'
        }
    }

    dependencies {
        classpath 'net.linguica.gradle:maven-settings-plugin:0.5'
    }
}

apply plugin: 'net.linguica.maven-settings'

然后简单地声明你的存储库:

repositories {
    maven {
        name 'your-repo'
        url 'http://.....'
    }
}

假设在 ~/.m2/settings.xml 你有类似的东西:

<servers>
    <server>
        <id>your-repo</id>
        <username>user</username>
        <password>pass</password>
    </server>
</servers>