Spring Boot结合IDEA自带Maven插件如何快速切换profile

 更新时间:2023年03月06日 14:57:04   作者:gmHappy  
IDEA是目前 Java 开发者中使用最多的开发工具,它有着简约的设计风格,强大的集成工具,便利的快捷键,这篇文章主要介绍了Spring Boot结合IDEA自带Maven插件快速切换profile,需要的朋友可以参考下

一、前言

IDEA是目前 Java 开发者中使用最多的开发工具,它有着简约的设计风格,强大的集成工具,便利的快捷键。

在项目项目整个开发运维周期中,我们的的项目往往需要根据不同的环境,使用不同的文件配置。

比如以下部分:

  • 默认:application.properties/yml
  • 共用配置:application-common.properties/yml
  • 开发环境:application-dev.properties/yml
  • 生产环境:application-prod.properties/yml
  • 测试环境:application-test.properties/yml

在实际使用中通过在application.yml文件中配置:

spring:
  profiles:
    active: dev

application.properties文件中配置:

spring.profiles.active=dev

置后Spring Boot会激活application-${active}.properties/yml的配置文件。

如此一来每次我们需要切换环境时只需要修改此配置即可。但此方式也明细的不足,比如:每次切换环境时都需要修改此配置,在修改后也存在文件误传Git的风险,单体项目来说尚可接受,但对于Spring Cloud微服务项目而言操作就很麻烦了。

二、配置详情

结合IDEA自带的maven插件来实现不同配置的切换,每次切换环境只要勾选就行了。

在这里插入图片描述

2.1 pom.xml修改

新增以下内容:

<build>
    <resources>
	    <resource>
	    	<directory>src/main/resources</directory>
            <!-- 指定目录下的文件通过maven过滤器 -->
	    	<filtering>true</filtering>
	    </resource>
    </resources>
</build>

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <!-- 环境标识,需要与配置文件的名称相对应 -->
            <profile.active>dev</profile.active>
            <nacos.username>nacos</nacos.username>
            <nacos.password>nacos</nacos.password>
        </properties>
        <activation>
            <!-- 默认环境 -->
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>test</id>
        <properties>
            <!-- 环境标识,需要与配置文件的名称相对应 -->
            <profile.active>test</profile.active>
            <nacos.username>nacos</nacos.username>
            <nacos.password>nacos</nacos.password>
        </properties>
    </profile>
</profiles>

Maven过滤器会替换文件中的占位符@变量名@,可以查看编译后的文件,原本的占位符被变量值所替代。

2.2 bootstrap.yml/application.yml修改

spring:
  profiles:
    active: @profile.active@

注:占位符 ‘@maven中配置的变量名@’,我的名称为profile.active

到此这篇关于Spring Boot结合IDEA自带Maven插件快速切换profile的文章就介绍到这了,更多相关Spring Boot切换profile内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java实现字符串反转

    Java实现字符串反转

    这篇文章介绍了Java实现字符串反转的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • java.io.NotSerializableException异常的问题及解决

    java.io.NotSerializableException异常的问题及解决

    这篇文章主要介绍了java.io.NotSerializableException异常的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • java后台接收app上传的图片的示例代码

    java后台接收app上传的图片的示例代码

    本篇文章主要介绍了java后台接受app上传的图片的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Java Servlet线程中AsyncContext异步处理Http请求

    Java Servlet线程中AsyncContext异步处理Http请求

    这篇文章主要介绍了Java Servlet线程中AsyncContext异步处理Http请求及在业务中应用,AsyncContext是Servlet 3.0使Servlet 线程不再需要一直阻塞,直到业务处理完毕才能再输出响应,最后才结束该Servlet线程
    2023-03-03
  • Java实现多个wav文件合成一个的方法示例

    Java实现多个wav文件合成一个的方法示例

    这篇文章主要介绍了Java实现多个wav文件合成一个的方法,涉及java文件流读写、编码转换、解析等相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • Java 中二进制转换成十六进制的两种实现方法

    Java 中二进制转换成十六进制的两种实现方法

    这篇文章主要介绍了Java 中二进制转换成十六进制的两种实现方法的相关资料,需要的朋友可以参考下
    2017-06-06
  • MapTask工作机制图文详解

    MapTask工作机制图文详解

    今天小编就为大家分享一篇关于MapTask工作机制图文详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Java使用HashMap实现并查集

    Java使用HashMap实现并查集

    这篇文章主要为大家详细介绍了Java使用HashMap实现并查集,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • 浅谈mybatis如何半自动化解耦(推荐)

    浅谈mybatis如何半自动化解耦(推荐)

    这篇文章主要介绍了浅谈mybatis如何半自动化解耦,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • 通过java备份恢复mysql数据库的实现代码

    通过java备份恢复mysql数据库的实现代码

    这篇文章主要介绍了如何通过java备份恢复mysql数据库,其实一般情况下通过bat或sh就可以,这里主要是介绍了java的实现思路,喜欢的朋友可以参考下
    2013-09-09

最新评论