Maven distributionManagement或Server(用户和密码)作为参数

Dan*_*dez 4 nexus maven

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

这些存储库要求登录,我更愿意使用登录来公开这些存储库.

这是我的settings.xml

<settings>

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

</settings>
Run Code Online (Sandbox Code Playgroud)

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

<distributionManagement>
            <repository>
                <id>dev-repo</id>
                <url>http://ip:port/nexus/content/repositories/dev-repo/</url>                          
            </repository>
    </distributionManagement>
Run Code Online (Sandbox Code Playgroud)

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

有任何想法吗?

先感谢您.

Lit*_*nti 8

这很容易:settings.xml文件允许变量.替换userpassword命名变量:

<servers>
    <server>
        <id>dev-repo</id>
        <username>${user}</username>
        <password>${password}</password>
    </server>
</servers>
Run Code Online (Sandbox Code Playgroud)

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

mvn -Duser=... -Dpassword=... install
Run Code Online (Sandbox Code Playgroud)