如何让mvn部署提示输入密码?

时间:2014-09-08 14:03:00

标签: maven maven-3 nexus

我目前正在~/.m2/settings.xml中存储我的maven凭据:

<server>
  <id>my_server_id</id>
  <username>my_username</username>
  <password>my_password</password>
</server>

但是,我对使用明文密码不满意,因为密码用于其他服务,因此在执行mvn deploy时我宁愿提示用户输入密码。我通过https部署到Nexus OSS安装。

我知道the password can be encrypted,但自the encryption is reversible以来,此解决方案不适合我的情况。

在进行https部署时,有没有办法让Maven提示输入密码?

3 个答案:

答案 0 :(得分:13)

如上所述,插件目前不支持此功能。问题MDEPLOY-51实际上要求改进:

  

允许用户在何时提供远程服务器的用户名密码   调用部署目标。目前,您必须添加存储库   server.xml文件的用户名和密码。如果,这会有所帮助   可以提示用户输入命令的用户名和密码   线。输入密码时应隐藏密码。

我建议投票支持这项改进,或者自己实施这项功能。

答案 1 :(得分:2)

maven-deploy-plugin没有交互模式,所以不,你不能轻易做到这一点。通常的方法是加密settings.xml文件中的凭据。

如果您确实觉得需要此功能,可以随时查看插件的来源并自行添加交互模式,然后将其提交给社区。

答案 2 :(得分:1)

作为在运行时查询用户的替代方法,您可以将用户名和密码作为args传递。

试试这个mvn whatevergoal -Dusername -Dpassword

然后在pom.xml $ {username}和$ {password}