如何在Maven pom文件中指定备用application.properties?我有2个不同的Maven配置文件,并希望根据配置文件使用不同的属性文件。
答案 0 :(得分:5)
如果您使用的是Spring引导,可以通过以下方式轻松实现。
在maven中创建两个配置文件,并在每个配置文件中设置一个属性,其中包含您要执行的Spring配置文件的名称。
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- Default spring profile to use -->
<spring.profiles.active>dev</spring.profiles.active>
<!-- Default environment -->
<environment>develop</environment>
</properties>
</profile>
在您的application.properties中,添加以下属性:
spring.profiles.active = $ {spring.profiles.active}
application-dev.properties
application-prod.properties
...
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
...
另一种方法是在maven执行期间创建一个名为 activeprofile.properties 的文件。 Spring启动会查找此文件以加载活动配置文件。您可以按如下方式创建此文件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<configuration>
<target>
<echo message="spring.profiles.active=${spring.profiles.active}" file="target/classes/config/activeprofile.properties" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<configuration>
</configuration>
</plugin>