springboot+maven多環(huán)境動態(tài)配置及編譯失敗的解決方案(步驟詳解)
一、前言
在我們的項目開發(fā)過程中一般會有多套的環(huán)境,比如比較常見的會有三套: dev (研發(fā)環(huán)境),test(測試環(huán)境),prod(生產環(huán)境)。
application.yml 是主配置文件,當在不同的環(huán)境中需要激活不同環(huán)境的配置文件,改動active 后面的value即可。但是這種方式有個弊端,需要每次手動改動才生效,不靈活,有沒有一個比較簡便的方式呢?其實maven給我們提供一種在編譯階段時動態(tài)修改激活環(huán)境的參數(shù)的方法。
二、springboot+maven多環(huán)境動態(tài)配置
其實很簡單,只需要2步即可
2.1 修改application.yml
application.yml 中的active哪一行改成:
spring: profiles: active: @profiles.active@
2.2 maven中添加profile配置
<!-- 添加到根project標簽的下一級 --> <profiles> <!-- 本地開發(fā)環(huán)境(默認) --> <profile> <id>dev</id> <properties> <!-- 自由命名,這個值會在application.yml的"@profiles.active@"取到 --> <profiles.active>dev</profiles.active> </properties> <!-- 默認激活dev環(huán)境--> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <!-- 測試環(huán)境 --> <profile> <id>test</id> <properties> <profiles.active>test</profiles.active> </properties> </profile> <!-- 生產環(huán)境 --> <profile> <id>prod</id> <properties> <profiles.active>prod</profiles.active> </properties> </profile> </profiles>
在maven中加完以上配置,就可以在idea 的右側看到dev的配置已經(jīng)激活。
點擊小錘子進行編譯,會發(fā)現(xiàn)application.yml中的 @profiles.active@ 編譯完以后 就被替換成 dev
2.3 編譯時如何動態(tài)切換呢
方法一:通過idea的可視化界面進行操作
方案二:通過maven 編譯命令指定參數(shù)
mvn compile -P prod
可以看到編譯完成以后的文件 active 已經(jīng)變成 prod 了。
2.4 無法編譯成功或正常啟動的解決方案
使用 idea的小錘子進行編譯?;蛘咧苯訂禹椖靠赡軙霈F(xiàn) 無法替換掉 application.yml 中active: @profiles.active@,建議使用 2.3 中的 方案一和方案二進行編譯,編譯成功以后,只要不執(zhí)行maven clean 命令則就一直能用。
到此這篇關于springboot+maven多環(huán)境動態(tài)配置及編譯失敗的解決方案的文章就介紹到這了,更多相關springboot maven多環(huán)境動態(tài)配置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Springboot整合easyexcel實現(xiàn)一個接口任意表的Excel導入導出
本文主要介紹了Springboot整合easyexcel實現(xiàn)一個接口任意表的Excel導入導出,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2025-02-02java利用mybatis攔截器統(tǒng)計sql執(zhí)行時間示例
這篇文章主要介紹了java利用mybatis攔截器統(tǒng)計sql執(zhí)行時間示例,該攔截器攔截mybatis的query和update操作,能統(tǒng)計sql執(zhí)行時間2014-03-03JAVA 格式化JSON數(shù)據(jù)并保存到json文件中的實例
這篇文章主要介紹了JAVA 格式化JSON數(shù)據(jù)并保存到json文件中的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10Java elasticSearch-api的具體操作步驟講解
這篇文章主要介紹了elasticSearch-api的具體操作步驟講解,本文通過詳細的步驟介紹和圖文代碼展示講解了該項技術,需要的朋友可以參考下2021-06-06