Maven distributionManagement 或服务器(用户和密码)作为参数

Maven distributionManagement or Server (User and Password) as parameter

我有一个使用 Nexus 的远程存储库。

这些存储库要求登录,我希望通过登录公开这些存储库。

这是我的settings.xml

<settings>

<servers>
    <server>
        <id>dev-repo</id>
        <username>user</username>
        <password>password</password>
    </server>
</servers>

</settings>

并且开发人员正在使用 pom.xml 和:

<distributionManagement>
            <repository>
                <id>dev-repo</id>
                <url>http://ip:port/nexus/content/repositories/dev-repo/</url>                          
            </repository>
    </distributionManagement>

使用该配置一切正常,但我更喜欢他们必须在 mvn 命令中传递登录信息,或者使用提示询问登录信息的命令而不是在 settings.xml

中对登录信息进行硬编码

有什么想法吗?

提前谢谢你。

这很简单:settings.xml 文件允许变量。用命名变量替换 userpassword

<servers>
    <server>
        <id>dev-repo</id>
        <username>${user}</username>
        <password>${password}</password>
    </server>
</servers>

然后,在调用 Maven 时提供显式值:

mvn -Duser=... -Dpassword=... install