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

Maven 如何让mvn部署提示输入密码?,maven,maven-3,nexus,Maven,Maven 3,Nexus,我当前正在将我的maven凭据存储在~/.m2/settings.xml: <server> <id>my_server_id</id> <username>my_username</username> <password>my_password</password> </server> 我的服务器id 我的用户名 我的密码 但是,我不满意密码是明文的,因为密码用于其他服务,所以我宁

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

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

我的服务器id
我的用户名
我的密码
但是,我不满意密码是明文的,因为密码用于其他服务,所以我宁愿在执行
mvn部署时提示用户输入密码。我正在通过https安装Nexus OSS

我知道这一点,但因为这个解决方案不适合我的情况


在执行https部署时,是否有办法让Maven提示输入密码?

Maven部署插件没有交互模式,因此不,您不能轻松完成此操作。通常的方法是加密
settings.xml
文件中的凭据


如果您真的觉得需要此功能,您可以随时签出插件的源代码,自己添加交互模式,然后将其贡献给社区。

如前所述,插件当前不支持此功能。这个问题实际上需要改进:

允许用户在以下情况下为远程服务器提供用户名密码: 部署目标称为。目前,您必须添加存储库 server.xml文件的用户名和密码。如果 该命令会提示用户输入用户名和密码 线路。输入密码时应将其隐藏


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

除了在运行时查询用户之外,还可以将用户名和密码作为args传递

试试这个mvn whatevergoal-Dusername-Dpassword


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

中,如果您要部署到Maven中央存储库(或使用Nexus Pro),您可能希望使用而不是用户名和密码进行身份验证。这不起作用,因为用户名/密码位于
settings.xml
,而不是
pom.xml
,并且在那里禁用了属性替换。