springboot多环境配置
1.配置文件
在application.yml中指定激活环境,其中profiles.active是在pom中定义的
spring:
profiles:
active: @profiles.active@
2.pom中定义多个环境
<build>
<!--打成的包的包名-->
<finalName>planning</finalName>
<!--打包时过滤相应的配置文件-->
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>application.yml</include>
<include>application-${profiles.active}.yml</include>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中 -->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<!-- 本地开发环境 -->
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 测试环境 -->
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
<profile>
<!-- 预生产环境 -->
<id>pre</id>
<properties>
<profiles.active>pre</profiles.active>
</properties>
</profile>
<profile>
<!-- 发布环境 -->
<id>prd</id>
<properties>
<profiles.active>prd</profiles.active>
</properties>
</profile>
</profiles>
3.打包命令指定环境
mvn clean package -Pprd
运行jar:java -jar planning.jar。
注:以上方式直接打出的包就是实际环境的包,在运行jar时无需再指定–spring.profiles.active=prd。
mvn package -Dmaven.test.skip=true