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


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

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

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

我知道 密码可以加密, 但是由于 加密是可逆的,这个解决方案不适合我的情况。

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


4980
2017-09-08 14:02


起源

如果您要部署到Maven Central Repository(或使用Nexus Pro),您可能需要查看使用 用户令牌 而不是用户名和密码。 - dnault


答案:


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

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

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


11
2017-09-08 16:50



11年后,该请求仍未实施...... - Janik Zikovsky


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

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


2
2017-09-08 15:59





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

试试这个mvn whatevergoal -Dusername -Dpassword

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


1
2018-04-03 14:58



这不起作用,因为用户名/密码在 settings.xml不是 pom.xml,那里禁用了财产替代。 - benschumacher