Spring Boot結合IDEA自帶Maven插件如何快速切換profile
一、前言
IDEA
是目前 Java
開發(fā)者中使用最多的開發(fā)工具,它有著簡約的設計風格,強大的集成工具,便利的快捷鍵。
在項目項目整個開發(fā)運維周期中,我們的的項目往往需要根據(jù)不同的環(huán)境,使用不同的文件配置。
比如以下部分:
- 默認:
application.properties/yml
- 共用配置:
application-common.properties/yml
- 開發(fā)環(huán)境:
application-dev.properties/yml
- 生產(chǎn)環(huán)境:
application-prod.properties/yml
- 測試環(huán)境:
application-test.properties/yml
在實際使用中通過在application.yml
文件中配置:
spring: profiles: active: dev
或application.properties
文件中配置:
spring.profiles.active=dev
置后Spring Boot
會激活application-${active}.properties/yml
的配置文件。
如此一來每次我們需要切換環(huán)境時只需要修改此配置即可。但此方式也明細的不足,比如:每次切換環(huán)境時都需要修改此配置,在修改后也存在文件誤傳Git
的風險,單體項目來說尚可接受,但對于Spring Cloud
微服務項目而言操作就很麻煩了。
二、配置詳情
結合IDEA
自帶的maven
插件來實現(xiàn)不同配置的切換,每次切換環(huán)境只要勾選就行了。
2.1 pom.xml修改
新增以下內(nèi)容:
<build> <resources> <resource> <directory>src/main/resources</directory> <!-- 指定目錄下的文件通過maven過濾器 --> <filtering>true</filtering> </resource> </resources> </build> <profiles> <profile> <id>dev</id> <properties> <!-- 環(huán)境標識,需要與配置文件的名稱相對應 --> <profile.active>dev</profile.active> <nacos.username>nacos</nacos.username> <nacos.password>nacos</nacos.password> </properties> <activation> <!-- 默認環(huán)境 --> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>test</id> <properties> <!-- 環(huán)境標識,需要與配置文件的名稱相對應 --> <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內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Windows系統(tǒng)中Java調(diào)用cmd命令及執(zhí)行exe程序的方法
這篇文章主要介紹了Windows系統(tǒng)中Java調(diào)用cmd命令及執(zhí)行exe程序的方法,主要用到了IOException類,需要的朋友可以參考下2016-03-03解決使用RestTemplate時報錯RestClientException的問題
這篇文章主要介紹了解決使用RestTemplate時報錯RestClientException的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08解決Spring session(redis存儲方式)監(jiān)聽導致創(chuàng)建大量redisMessageListenerConta
這篇文章主要介紹了解決Spring session(redis存儲方式)監(jiān)聽導致創(chuàng)建大量redisMessageListenerContailner-X線程問題,需要的朋友可以參考下2018-08-08Java編程實現(xiàn)軌跡壓縮之Douglas-Peucker算法詳細代碼
這篇文章主要介紹了Java編程實現(xiàn)軌跡壓縮之Douglas-Peucker算法詳細代碼,具有一定借鑒價值,需要的朋友可以參考。2017-11-11BigDecimal的toString()、toPlainString()和toEngineeringString()區(qū)
使用BigDecimal進行打印的時候,經(jīng)常會對BigDecimal提供的三個toString方法感到好奇,以下整理3個toString方法的區(qū)別及用法,需要的朋友可以參考下2023-08-08Java實戰(zhàn)之用hutool-db實現(xiàn)多數(shù)據(jù)源配置
在微服務搭建中經(jīng)常會使用到多數(shù)據(jù)庫情形這個時候,下面這篇文章主要給大家介紹了關于Java實戰(zhàn)之用hutool-db實現(xiàn)多數(shù)據(jù)源配置的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-12-12Java如何實現(xiàn)N叉樹數(shù)據(jù)結構
這篇文章主要介紹了Java如何實現(xiàn)N叉樹數(shù)據(jù)結構問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05hibernate中HQL如何調(diào)用自定義函數(shù)
這篇文章主要介紹了hibernate中HQL如何調(diào)用自定義函數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09