好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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 文件中配置:

?

1

2

3

spring:

   profiles:

     active: dev

或 application.properties 文件中配置:

?

1

spring.profiles.active=dev

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

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

二、配置详情

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

2.1 pom.xml修改

新增以下内容:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

< 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修改

?

1

2

3

spring:

   profiles:

     active: @profile.active@

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

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

原文链接:https://blog.csdn.net/ctwy291314/article/details/129335275

查看更多关于Spring Boot结合IDEA自带Maven插件如何快速切换profile的详细内容...

  阅读:17次