SpringBoot多环境配置或打包
1.确保pom.xml有以下几个配置
springboot-maven打包插件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
resource文件夹资源定位
<resources>
<resource>
<directory>src/main/resources/</directory>
<includes>
<!-- 除了.properties,其他应该加载的文件,此处比较随意,加载了所有文件 -->
<include>**/*.*</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<!-- application.properties必须加载 -->
<!-- application.properties中的@package.environment@就是 -->
<!-- 根据${package.environment}传入的值寻找的对应配置文件 -->
<include>application.properties</include>
<!-- ${package.environment}是环境变量,可以传入dev或pro等 -->
<!-- 传入dev就是加载application-dev.properties -->
<include>application-${package.environment}.properties</include>
</includes>
</resource>
</resources>
多环境配置
<profiles>
<profile>
<!-- 开发环境 -->
<id>dev</id>
<properties>
<!-- package.environment标签对应 -->
<!-- application.properties中的@package.environment@ -->
<package.environment>dev</package.environment>
</properties>
<!-- 是否默认 true表示默认-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 测试环境 -->
<id>test</id>
<properties>
<package.environment>test</package.environment>
</properties>
</profile>
<profile>
<!-- 生产环境 -->
<id>pro</id>
<properties>
<package.environment>pro</package.environment>
</properties>
</profile>
</profiles>
application.properties配置
# 指定执行环境
spring.profiles.active: @package.environment@
2.切换运行时环境
-
修改pom.xml中的profiles标签配置,见多环境配置xml
-
Idea支持设置运行环境,Active profiles
-
Idea的maven插件,Profiles选择dev或其他
3.开始打包
mvn clean package -P dev
mvn clean package -P test
mvn clean package -P pro
1.可以选择在本地通过命令行执行;
2.也可以使用Idea的Maven工具进行打包,先选择要打包的环境,点击package
4.查看是否配置或打包成功
- 运行项目时日志会打出选择的环境
- 可以解压jar包查看配置文件