Maven 如何让mvn部署提示输入密码?
我当前正在将我的maven凭据存储在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 我的用户名 我的密码 但是,我不满意密码是明文的,因为密码用于其他服务,所以我宁
~/.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
,并且在那里禁用了属性替换。