Spring Boot結(jié)合IDEA自帶Maven插件如何快速切換profile
一、前言
IDEA是目前 Java 開(kāi)發(fā)者中使用最多的開(kāi)發(fā)工具,它有著簡(jiǎn)約的設(shè)計(jì)風(fēng)格,強(qiáng)大的集成工具,便利的快捷鍵。
在項(xiàng)目項(xiàng)目整個(gè)開(kāi)發(fā)運(yùn)維周期中,我們的的項(xiàng)目往往需要根據(jù)不同的環(huán)境,使用不同的文件配置。
比如以下部分:
- 默認(rèn):
application.properties/yml - 共用配置:
application-common.properties/yml - 開(kāi)發(fā)環(huán)境:
application-dev.properties/yml - 生產(chǎn)環(huán)境:
application-prod.properties/yml - 測(cè)試環(huán)境:
application-test.properties/yml
在實(shí)際使用中通過(guò)在application.yml文件中配置:
spring:
profiles:
active: dev或application.properties文件中配置:
spring.profiles.active=dev
置后Spring Boot會(huì)激活application-${active}.properties/yml的配置文件。
如此一來(lái)每次我們需要切換環(huán)境時(shí)只需要修改此配置即可。但此方式也明細(xì)的不足,比如:每次切換環(huán)境時(shí)都需要修改此配置,在修改后也存在文件誤傳Git的風(fēng)險(xiǎn),單體項(xiàng)目來(lái)說(shuō)尚可接受,但對(duì)于Spring Cloud微服務(wù)項(xiàng)目而言操作就很麻煩了。
二、配置詳情
結(jié)合IDEA自帶的maven插件來(lái)實(shí)現(xiàn)不同配置的切換,每次切換環(huán)境只要勾選就行了。

2.1 pom.xml修改
新增以下內(nèi)容:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 指定目錄下的文件通過(guò)maven過(guò)濾器 -->
<filtering>true</filtering>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>dev</id>
<properties>
<!-- 環(huán)境標(biāo)識(shí),需要與配置文件的名稱相對(duì)應(yīng) -->
<profile.active>dev</profile.active>
<nacos.username>nacos</nacos.username>
<nacos.password>nacos</nacos.password>
</properties>
<activation>
<!-- 默認(rèn)環(huán)境 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<!-- 環(huán)境標(biāo)識(shí),需要與配置文件的名稱相對(duì)應(yīng) -->
<profile.active>test</profile.active>
<nacos.username>nacos</nacos.username>
<nacos.password>nacos</nacos.password>
</properties>
</profile>
</profiles>
Maven過(guò)濾器會(huì)替換文件中的占位符@變量名@,可以查看編譯后的文件,原本的占位符被變量值所替代。
2.2 bootstrap.yml/application.yml修改
spring:
profiles:
active: @profile.active@注:占位符 ‘@maven中配置的變量名@’,我的名稱為
profile.active
到此這篇關(guān)于Spring Boot結(jié)合IDEA自帶Maven插件快速切換profile的文章就介紹到這了,更多相關(guān)Spring Boot切換profile內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- idea創(chuàng)建SpringBoot項(xiàng)目時(shí)Type選maven?project和maven?pom有何區(qū)別
- IDEA創(chuàng)建SpringBoot的maven項(xiàng)目的方法步驟
- 解決IDEA springboot"spring-boot-maven-plugin"報(bào)紅問(wèn)題
- IDEA2020.2創(chuàng)建springboot項(xiàng)目卡死在reading maven project的問(wèn)題
- idea將maven項(xiàng)目改成Spring boot項(xiàng)目的方法步驟
- spring boot idea maven依賴找不到問(wèn)題處理方法
相關(guān)文章
詳解springboot和vue前后端分離開(kāi)發(fā)跨域登陸問(wèn)題
這篇文章主要介紹了詳解springboot和vue前后端分離開(kāi)發(fā)跨域登陸問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Java之System.getProperty()的作用及使用說(shuō)明
這篇文章主要介紹了Java之System.getProperty()的作用及使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
Idea 同一窗口導(dǎo)入多個(gè)項(xiàng)目的實(shí)現(xiàn)步驟
本文主要介紹了Idea 同一窗口導(dǎo)入多個(gè)項(xiàng)目的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
springboot動(dòng)態(tài)調(diào)用實(shí)現(xiàn)類方式
這篇文章主要介紹了springboot動(dòng)態(tài)調(diào)用實(shí)現(xiàn)類方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Java 獲取當(dāng)前時(shí)間及實(shí)現(xiàn)時(shí)間倒計(jì)時(shí)功能【推薦】
這篇文章主要介紹了Java 獲取當(dāng)前時(shí)間及實(shí)現(xiàn)時(shí)間倒計(jì)時(shí)功能 ,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
java虛擬機(jī)jvm方法區(qū)實(shí)例講解
在本篇文章里小編給大家整理的是一篇關(guān)于java虛擬機(jī)jvm方法區(qū)實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-02-02
Nacos?動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置和服務(wù)管理平臺(tái)初體驗(yàn)
這篇文章主要介紹了Nacos?動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置和服務(wù)管理平臺(tái)初體驗(yàn)的相關(guān)資料,需要的朋友可以參考下2022-09-09
Springboot通過(guò)lucene實(shí)現(xiàn)全文檢索詳解流程
Lucene是一個(gè)基于Java的全文信息檢索工具包,它不是一個(gè)完整的搜索應(yīng)用程序,而是為你的應(yīng)用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta 家族中的一個(gè)開(kāi)源項(xiàng)目,也是目前最為流行的基于 Java 開(kāi)源全文檢索工具包2022-06-06
如何解決Spring MVC中響應(yīng)亂碼問(wèn)題
這篇文章主要介紹了如何解決Spring MVC中響應(yīng)亂碼問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03

