如何在 maven 3 中使用 pom.xml 中的加密密码?
我有一些使用对我们来说非常敏感的密码的pom,例如我们有POM要部署在Weblogic等应用程序服务器中或在数据库中运行脚本,并且我们不喜欢只按原样输入密码。
我已经拥有部署工件的主密码。
我在想是否有一种方法可以生成密码:
$ mvn --encrypt-password somepass
{wGpHaPO3nJ4HSKJa7qcMK9qjHAdwlvMrtjYjj8bwguI=}
之后我可以在一些 pom 中以这种方式使用它吗:
<configuration>
<driver>oracle.jdbc.driver.OracleDriver</driver>
<url>jdbc:oracle:thin:@ordbsdev.siman.com:1521:RMSDEV</url>
<username>${siman.rms13.db.user}</username>
<password>{wGpHaPO3nJ4HSKJa7qcMK9qjHAdwlvMrtjYjj8bwguI=}</password>
</configuration>
另外,我希望有一个替代方案。
我认为 Tunaki 要求你做的是定义你的属性设置.xml https://maven.apache.org/settings.html, e.g.
<settings ...
<profile>
...
<properties>
<xyz>{wGpHaPO3nJ4HSKJa7qcMK9qjHAdwlvMrtjYjj8bwguI=}</xyz>
</properties>
<profile>
</setting>
然后在 POM 中的设置中使用此属性:
<configuration>
...
<password>${xyz}</password>
</configuration>
但读取此配置的工具必须能够解密密码。
更好的方法是在 settings.xml 中使用服务器配置存储加密密码,如下所示:
<settings ...
...
<servers>
...
<server>
<id>xyz</id>
<username>manager</username>
<password>{wGpHaPO3nJ4HSKJa7qcMK9qjHAdwlvMrtjYjj8bwguI=}</password>
</server>
...
</servers>
...
</setting>
但同样,配置信息的使用者必须能够读取服务器配置。 Maven 部署插件的示例位于https://maven.apache.org/guides/mini/guide-encryption.html https://maven.apache.org/guides/mini/guide-encryption.html(例如-DrepositoryId=xyz)。
引用的问题列出了SQLExecMojo https://github.com/mojohaus/sql-maven-plugin/blob/master/src/main/java/org/codehaus/mojo/sql/SqlExecMojo.java作为插件如何解密密码的示例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)