springboot配置文件讀取pom文件信息方式
配置文件讀取pom文件信息
解決的問題
springboot(當(dāng)然別的也可以)多環(huán)境切換需要修改配置文件硬編碼,打包時(shí)不夠方便。

解決
配置文件能讀取pom文件中的配置,根據(jù)命令選擇不同配置注入springboot的配置文件中
pom配置文件:
<!-- 環(huán)境 -->
<profiles>
<!-- 開發(fā) -->
<profile>
<id>dev</id>
<activation>
<!--默認(rèn)激活配置,maven打包默認(rèn)選用的配置-->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!--當(dāng)前環(huán)境自定義配置,標(biāo)簽名自定義-->
<profile.name>dev</profile.name>
<profile.baseUrl>http://localhost:5501</profile.baseUrl>
</properties>
</profile>
<!-- 測(cè)試 -->
<profile>
<id>test</id>
<properties>
<!--當(dāng)前環(huán)境-->
<profile.name>test</profile.name>
<profile.baseUrl>http://test.xxxx.com/xxx</profile.baseUrl>
</properties>
</profile>
<!-- 生產(chǎn) -->
<profile>
<id>prd</id>
<properties>
<!--當(dāng)前環(huán)境,生產(chǎn)環(huán)境為空-->
<profile.name>prd</profile.name>
<profile.baseUrl>http://api.xxx.cn/xxx</profile.baseUrl>
</properties>
</profile>
</profiles>
修改后的寫法

當(dāng)然,別的配置項(xiàng)也能這樣寫,這樣寫的好處是只需修改一處別的不用修改
maven打包命令
mvn clean package -Ptest 這樣就能打成測(cè)試環(huán)境的包了
可能會(huì)出現(xiàn)的一些問題
- 占位符也可以這樣寫 @配置的key@,不建議這樣使用
- 報(bào)@@ 解析錯(cuò)誤,再次執(zhí)行打包命令: mvn clean package -Ptest
- 修改了pom文件中的配置,再次啟動(dòng)項(xiàng)目環(huán)境沒有變化,因?yàn)閕de啟動(dòng)的是你之前的包所以你要重新使用打包命令打個(gè)新包
Pom文件依賴配置說明
1、groupId、artifactId、version是依賴的基本坐標(biāo),缺一不可,其它兩個(gè)坐標(biāo)元素不指定時(shí)將采用默認(rèn)值
type:依賴的類型,對(duì)應(yīng)坐標(biāo)packaging,默認(rèn)為jaroptional:標(biāo)記依賴是否可選,A->B->C,那么當(dāng)A依賴于C時(shí)就可以設(shè)為可選。exclusions:排除傳遞依賴
scope 依賴范圍
compile:編譯范圍,默認(rèn)scope,在classpath中存在provided:已提供范圍,比如容器提供Servlet APIruntime:運(yùn)行時(shí)范圍,編譯不需要,接口與實(shí)現(xiàn)分離test:測(cè)試范圍,單元測(cè)試環(huán)境需要system:系統(tǒng)范圍,自定義構(gòu)件,指定systemPathimport:導(dǎo)入依賴
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java編程實(shí)現(xiàn)楊輝三角兩種輸出結(jié)果實(shí)例代碼
這篇文章主要介紹了java編程實(shí)現(xiàn)楊輝三角兩種輸出結(jié)果實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
java調(diào)用shell命令并獲取執(zhí)行結(jié)果的示例
今天小編就為大家分享一篇java調(diào)用shell命令并獲取執(zhí)行結(jié)果的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07
java 數(shù)據(jù)的加密與解密普遍實(shí)例代碼
本篇文章介紹了一個(gè)關(guān)于密鑰查詢的jsp文件簡(jiǎn)單實(shí)例代碼,需要的朋友可以參考下2017-04-04
Apache Shrio安全框架實(shí)現(xiàn)原理及實(shí)例詳解
這篇文章主要介紹了Apache Shrio安全框架實(shí)現(xiàn)原理及實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
java如何自定義List中的sort()排序,用于日期排序
這篇文章主要介紹了java如何自定義List中的sort()排序,用于日期排序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
java線程中synchronized和Lock區(qū)別及介紹
這篇文章主要為大家介紹了java線程中synchronized和Lock區(qū)別及介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06

