2017-04-02 229 views
3

我想在一个地方定义数据库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> 

这两种方法都不起作用。

+0

可能的复制[如何读取外部属性在Maven的文件(http://stackoverflow.com/questions/849389/how-to-read-an-external-属性文件合行家) – rmlan

回答

1

你可以通过从你的pom文件建立一个属性文件来做相反的事情。在你的属性文件中你会使用类似:

password=${pom.password} 

而且你的POM文件会碰到这样的:

<password>your_db_password</password> 

然后在:

mvn clean package 

Maven会建立自己的属性文件。

这里有一个简单的教程:中Add Maven Build Information ...

相关问题