发布网友 发布时间:2022-04-30 00:23
共1个回答
热心网友 时间:2023-10-11 01:34
一个应用系统需要在不同的阶段以不同的配置文件来进行部署,在开发阶段需要开发时的配置文件启动服务,测试阶段或者生产阶段都是不同的配置,所以我们需要利用maven按照环境来将不同环境的配置文件按环境打包,减少我们的维护成本。
1、在pom文件中进行如下配置:
[html] view plain copy
<profiles>
<profile>
<id>dev</id>
<properties>
<profileActive>dev</profileActive>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<profileActive>test</profileActive>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>application-${profileActive}.properties</include>
<include>application.properties</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<delimiters>
<delimiter>@</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
</plugin>
</plugins>
</build>
2、application.properties中添加如下配置:
[html] view plain copy
spring.profiles.active=@profileActive@
3、通过mvn package -P dev进行打包就会只将开发环境的配置文件扔到对应的jar包或者war包中