我目前正在~/.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提示输入密码?
答案 0 :(得分:13)
如上所述,插件目前不支持此功能。问题MDEPLOY-51实际上要求改进:
允许用户在何时提供远程服务器的用户名密码 调用部署目标。目前,您必须添加存储库 server.xml文件的用户名和密码。如果,这会有所帮助 可以提示用户输入命令的用户名和密码 线。输入密码时应隐藏密码。
我建议投票支持这项改进,或者自己实施这项功能。
答案 1 :(得分:2)
maven-deploy-plugin
没有交互模式,所以不,你不能轻易做到这一点。通常的方法是加密settings.xml
文件中的凭据。
如果您确实觉得需要此功能,可以随时查看插件的来源并自行添加交互模式,然后将其提交给社区。 p>
答案 2 :(得分:1)
作为在运行时查询用户的替代方法,您可以将用户名和密码作为args传递。
试试这个mvn whatevergoal -Dusername -Dpassword
然后在pom.xml $ {username}和$ {password}
中