我知道可以对密码进行加密并将加密的数据放入 中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>
...
但我不喜欢在我的pom.xml
. 所以我尝试将其设置为属性(<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>
不幸的是,这不起作用(我怀疑插件使用加密密码作为“清除”密码,并且不尝试解密它)。
有没有办法让它工作?如果不是,有什么替代方法可以避免将纯文本密码放入pom.xml
or settings.xml
?
谢谢。
ps:我使用的是Maven 2.2.1,但如果需要我也可以使用Maven 3.0。