如何在Maven pom.xml中从application.properties(Spring Boot)中重用属性?
问题描述:
我想在一个地方定义数据库url, username, password
。目前,我有如何在Maven pom.xml中从application.properties(Spring Boot)中重用属性?
application.properties
与
spring.datasource.url=....
spring.datasource.username=sa
spring.datasource.password=00
而且pom.xml
与
<plugin>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<version>4.1.2</version>
<configuration>
<url>....</url>
<user>sa</user>
<password>00</password>
</configuration>
</plugin>
所以可能我需要在application.properties
定义重用的属性值。
<password>${spring.datasource.password}</password>
不起作用。 我也试过
<systemProperties>
<systemProperty>
<name>url</name>
<value>....</value>
</systemProperty>
...
</systemProperties>
这两种方法都不起作用。
答
你可以通过从你的pom文件建立一个属性文件来做相反的事情。在你的属性文件中你会使用类似:
password=${pom.password}
而且你的POM文件会碰到这样的:
<password>your_db_password</password>
然后在:
mvn clean package
Maven会建立自己的属性文件。
这里有一个简单的教程:中Add Maven Build Information ...
可能的复制[如何读取外部属性在Maven的文件(http://stackoverflow.com/questions/849389/how-to-read-an-external-属性文件合行家) – rmlan