![](/img/trans.png)
[英]What is a maven settings.xml file and how it is different from pom.xml
[英]Maven: Read encrypted password from settings.xml in pom.xml
我试图在settings.xml中使用加密密码。 我在我的pom.xml中有一个连接到数据库的插件,使用sql-maven-plugin:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<version>1.4</version>
<dependencies>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.5.0</version>
</dependency>
</dependencies>
<configuration>
<driver>oracle.jdbc.driver.OracleDriver</driver>
<url>jdbc:oracle:thin:@ip.com:1521:SID</url>
<username>someUser</username>
<password>{JucQpWS78Q0HW+3ZS/FCCGHQpwbJ8ySl2Io/ILJqf88=}</password>
</configuration>
<executions>
<execution>
<id>update-configuration</id>
<phase>package</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<autocommit>false</autocommit>
<srcFiles>
<srcFile>src/main/sql/update_sim_configuration.sql</srcFile>
</srcFiles>
</configuration>
</execution>
</executions>
</plugin>
哪个工作正常如果我将密码作为纯文本放在我的pom.xml中,我想从我的settings.xml读取此密码,密码以这种方式加密:
mvn -ep the_password
我在我的settings.xml中
...
<server>
<id>rms13-db-dev</id>
<username>user</username>
<password>{JucQpWS78Q0HW+3ZS/FCCGHQpwbJ8ySl2Io/ILJqf88=}</password>
</server>
...
我想'读'解码'rms13-db-dev'中的'密码',我该如何实现? 或者如果您有替代版本来实现这一目标。
为此,您需要使用Maven工具加密密码 ,然后配置sql-maven-plugin
以使用它 。 插件版本1.4不支持此功能,但1.5版本可以支持。
使用该命令创建主密码
mvn --encrypt-master-password
从3.2.1开始,Maven将提示您输入密码。 完成后,使用内容创建一个名为~/.m2/settings-security.xml
的文件
<settingsSecurity> <master><!-- result of above command --></master> </settingsSecurity>
使用命令加密密码
mvn --encrypt-password
与以前一样,Maven会提示您输入密码。 然后在您的Maven设置( ~/.m2/settings.xml
,创建文件,如果它不存在),有内容
<settings> ... <servers> ... <server> <id>my.server</id> <username><!-- your DB username --></username> <password><!-- the encrypted password --></password> </server> ... </servers> ... </settings>
使用settingsKey
属性将sql-maven-plugin
settingsKey
为您的服务器ID,在本例中为my.server
。 您需要使用插件的1.5版。
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sql-maven-plugin</artifactId> <version>1.5</version> <!-- 1.5 required --> <configuration> <settingsKey>my.server</settingsKey> <!-- id of server here --> <driver>oracle.jdbc.driver.OracleDriver</driver> <url>jdbc:oracle:thin:@ip.com:1521:SID</url> <!-- username and password are not mentioned anymore --> </configuration> </plugin>
settingsKey
。 server
条目与id
等于先前的settingsKey
值,如解释在这里 。 ${user.home}/.m2/settings-security.xml
请参见下面的示例: <settingsSecurity>
<master>{jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+9EF1iFQyJQ=}</master>
</settingsSecurity>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.