我知道可以加密密码并将加密数据放入其中settings.xml
,以便Maven可以访问远程服务器(用于部署等).
但是,在我的情况下,密码是第三方插件配置中的参数.
通常,pom.xml
此插件的配置如下所示:
<build>
<plugins>
<plugin>
<groupId>xxx</groupId>
<artifactId>maven-xxx-plugin</artifactId>
...
<configuration>
<serverAddress>http://myserver</serverAddress>
<port>4242</port>
<username>unicorn</username>
<password>thePassword</password>
...
Run Code Online (Sandbox Code Playgroud)
但是我不喜欢在我的文本中用纯文本设置密码的想法pom.xml
.所以我尝试将它设置为property(<password>${encrypted.password}</password>
)并settings.xml
使用mvn --encrypt-password thePassword
命令在文件中设置加密密码:
<profiles>
<profile>
<id>myprofile</id>
<properties>
<!-- Encrypted passwords -->
<encrypted.password>{dJXVRKwRiY8HqzhGecHd/MYju/aIEmMT8cnE6MY53uPNr0ro/CAsXSLlgzEjxYeU}</encrypted.password>
</properties>
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用(我怀疑该插件使用加密密码作为"清除"密码,并不试图解密它).
有没有办法让它发挥作用?如果没有,有什么方法可以避免将纯文本密码放入pom.xml
或settings.xml
?
谢谢.
ps:我正在使用Maven 2.2.1,但如果需要,我也可以使用Maven 3.0.
小智 3
Maven 提供了必要的支持来加密密码settings.xml
,并让插件检索它们。例如,请参见SqlExecMojo.java。
插件“只是”必须使用此功能来使凭据管理更加用户友好。
归档时间: |
|
查看次数: |
4068 次 |
最近记录: |