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