- 配置多环境
<!-- 多环境配置方案 命令dev包 : mvn -U clean compile package -P dev-->
<profiles>
<profile>
<id>dev</id>
<properties>
<profileActive>dev</profileActive>
<maven.test.skip>true</maven.test.skip>
<scope.jar>compile</scope.jar>
</properties>
<activation>
<activeByDefault>true</activeByDefault> <!-- 设置默认的打包环境 -->
</activation>
</profile>
<profile>
<id>prod</id>
<properties>
<profileActive>prod</profileActive> <!-- 自定义变量,在pom和yaml中引用 -->
<maven.test.skip>true</maven.test.skip>
</properties>
</profile>
</profiles>
- 把需要打包的资源添加进来,不用环境的配置文件放在 env/${profileActive}下,至于加载配置文件,请看我另外一篇文章springboot自定义yaml配置文件
<build>
<finalName>${project.artifactId}-${profileActive}-${project.version}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>env/${profileActive}/**</include> <!-- 引用的是1中的多环境配置的自定义属性 -->
<include>statics/**</include>
<include>templates/**</include>
<include>*.xml</include>
<include>*.txt</include>
<include>application-${profileActive}.yml</include>
<include>application.yml</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.4.RELEASE</version>
</plugin>
</plugins>
</build>
- 在application.yaml文件中引用profileActive属性,这样在打包的时候只需要执行 mvn -U clean compile package -P prod 就会自动把prod环境的资源都打进去了
spring:
# 环境 dev|test|prod
profiles:
active: @profileActive@