SpringBoot使用maven实现多环境运行和打包的操作步骤
作者:赛赛liangks
引言
在开发过程中,需要不断进行环境的切换和打包部署,maven提供了多环境配置,可以方便实现不同环境的配置切换和打包。
一、maven配置
1.在pom文件中放入profiles多环境配置
<!-- 多环境配置 --> <profiles> <profile> <id>dev</id> <properties> <!-- 命名要和application-dev.yml配置文件-后面的一致 --> <profiles.active>dev</profiles.active> </properties> <!-- 默认激活环境 --> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>prod</id> <properties> <profiles.active>prod</profiles.active> </properties> </profile> </profiles>
二、springboot yml配置
2.在application.yml文件中使用spring:profiles:active: @profiles.active@ 进行激活,可以把对应dev和prod环境对应的数据库分别放在application-dev.yml和application-prod.yml文件中使用,这样就可以maven打包的时候会根据环境来自动加载对应环境的yml文件。
spring: profiles: active: @profiles.active@
三、maven打包
这几种打包方式只是操作方式不同而已,其实都是一样的,最后都是一条maven命令
方式3实际的命令 mvn clean package -Dmaven.test.skip=true
方式2打包的命令和方式1一样,只不过可视化了而已
这样,在用maven打包的时候,使用 mvn clean package -Dmaven.test.skip=true -P prod打包,最后打包后的文件中,application.yml中的profiles.active的值就是prod。这样直接运行java -jar xxx.jar,就是生产环境的配置了。
方式1:使用maven命令打包(推荐使用),配合shell脚本可实现自动部署
// -Dmaven.test.skip=true 跳过测试 // -P prod 使用prod环境 mvn clean package -Dmaven.test.skip=true -P prod
方式2:idea开发工具本地打包
方式3:使用pom中环境激活
激活哪个直接打包就是什么环境
四、在代码中判断环境
@Value("${spring.profiles.active}") private String profiles;
到此这篇关于SpringBoot使用maven实现多环境运行和打包的操作步骤的文章就介绍到这了,更多相关SpringBoot maven多环境运行和打包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!