SpringBoot使用maven实现多环境运行和打包的操作步骤
引言
在开发过程中,需要不断进行环境的切换和打包部署,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多环境运行和打包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
详解static 和 final 和 static final区别
这篇文章主要介绍了static 和 final 和 static final区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-04-04
Java基础篇之serialVersionUID用法及注意事项详解
这篇文章主要给大家介绍了关于Java基础篇之serialVersionUID用法及注意事项的相关资料,SerialVersionUID属性是用于序列化/反序列化可序列化类的对象的标识符,我们可以用它来记住可序列化类的版本,以验证加载的类和序列化对象是否兼容,需要的朋友可以参考下2024-02-02
SpringSecurity HttpSecurity 类处理流程分析
SpringSecurity在SSM项目中使用基于配置文件,通过XML标签定义认证信息,HttpSecurity在SpringBoot中通过代码配置实现与XML相同功能,详细介绍了HttpSecurity的类结构、处理过程及其与SecurityBuilder的关系,感兴趣的朋友一起看看吧2024-09-09
spring controller层引用service报空指针异常nullpointExceptio问题
这篇文章主要介绍了spring controller层引用service报空指针异常nullpointExceptio问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-02-02
详解SpringBoot中@ConditionalOnClass注解的使用
这篇文章主要和大家详细介绍一下springboot中@ConditionalOnClass注解的用法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下2022-08-08


最新评论