SpringBoot使用maven实现多环境运行和打包的操作步骤

 更新时间:2024年04月17日 09:27:12   作者:赛赛liangks  
在开发过程中,需要不断进行环境的切换和打包部署,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多环境运行和打包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot利用redis、Redisson处理并发问题的操作

    springboot利用redis、Redisson处理并发问题的操作

    这篇文章主要介绍了springboot利用redis、Redisson处理并发问题的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Java编程一道多线程问题实例代码

    Java编程一道多线程问题实例代码

    这篇文章主要介绍了Java编程一道多线程问题实例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • MybatisPlus查询数据日期格式化问题解决方法

    MybatisPlus查询数据日期格式化问题解决方法

    MyBatisPlus是MyBatis的增强工具,支持常规的CRUD操作以及复杂的联表查询等功能,这篇文章主要给大家介绍了关于MybatisPlus查询数据日期格式化问题的解决方法,需要的朋友可以参考下
    2023-10-10
  • Mybatis解决找不到get方法

    Mybatis解决找不到get方法

    这篇文章主要介绍了Mybatis解决找不到get方法问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • IntelliJ IDEA 2020 安装和常用配置(推荐)

    IntelliJ IDEA 2020 安装和常用配置(推荐)

    这篇文章主要介绍了IntelliJ IDEA 2020 安装和常用配置(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • SpringBoot如何动态修改Scheduled(系统启动默认执行,动态修改)

    SpringBoot如何动态修改Scheduled(系统启动默认执行,动态修改)

    这篇文章主要介绍了SpringBoot如何动态修改Scheduled(系统启动默认执行,动态修改)的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 基于SpringBoot bootstrap.yml配置未生效的解决

    基于SpringBoot bootstrap.yml配置未生效的解决

    这篇文章主要介绍了基于SpringBoot bootstrap.yml配置未生效的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • Java实现JDBC连接数据库简单案例

    Java实现JDBC连接数据库简单案例

    这篇文章主要介绍了Java实现JDBC连接数据库简单案例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • 详解SpringBoot项目整合Vue做一个完整的用户注册功能

    详解SpringBoot项目整合Vue做一个完整的用户注册功能

    本文主要介绍了SpringBoot项目整合Vue做一个完整的用户注册功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Java数据结构与算法之稀疏数组与队列深入理解

    Java数据结构与算法之稀疏数组与队列深入理解

    这篇文章主要介绍了Java数据结构与算法之稀疏数组与队列深入理解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09

最新评论