SpringBoot结合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内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关文章