Spring如何配置文件動態(tài)讀取pom.xml中的屬性
Spring配置文件動態(tài)讀取pom.xml屬性
需求:
配置文件中的
spring.profiles.active=${env}
需要打包時動態(tài)綁定。
方案
1.在pom.xml文件中配置啟用占位符替換
<profiles> <!-- 本地開發(fā) --> <profile> <id>dev</id> <properties> <env>dev</env> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <!-- 其他環(huán)境 --> </profiles> <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build>
- Maven 中
<filtering>
的默認(rèn)值是false
。 - 這意味著在復(fù)制資源文件時,Maven 不會對文件進(jìn)行占位符替換(即過濾)。
2.在配置文件中配置 spring.profiles.active=@env@
或者 spring.profiles.active=${env}
3.打包時選擇環(huán)境 mvn clean package -Pprod
- -P 參數(shù)用于激活 Maven 構(gòu)建中的特定配置文件(profile)
自定義占位符
如果擔(dān)心沖突,那么可以自定義占位符。
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.2.0</version> <configuration> <delimiters> <delimiter>#{</delimiter> <delimiter>}</delimiter> </delimiters> <useDefaultDelimiters>false</useDefaultDelimiters> </configuration> </plugin> </plugins> </build>
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java 線程池_動力節(jié)點Java學(xué)院整理
系統(tǒng)啟動一個新線程的成本是比較高的,因為它涉及到與操作系統(tǒng)的交互。在這種情況下,使用線程池可以很好的提供性能,尤其是當(dāng)程序中需要創(chuàng)建大量生存期很短暫的線程時,更應(yīng)該考慮使用線程池2017-05-05Spring @Bean注解的使用場景與案例實現(xiàn)
隨著SpringBoot的流行,我們現(xiàn)在更多采用基于注解式的配置從而替換掉了基于XML的配置,所以本篇文章我們主要探討基于注解的@Bean以及和其他注解的使用2023-03-03SpringBoot實現(xiàn)token登錄的示例代碼
在進(jìn)行登錄驗證時,我們需要session或cookie會話進(jìn)行驗證,當(dāng)我們脫離瀏覽器用app等向服務(wù)端發(fā)請求就沒有session和cookie機制,這時我們就需要使用token令牌進(jìn)行登錄驗證,本文就詳細(xì)的介紹一下,感興趣的可以了解一下2022-03-03連續(xù)調(diào)用多個外部系統(tǒng)寫接口保證數(shù)據(jù)一致性的思路
今天小編就為大家分享一篇關(guān)于連續(xù)調(diào)用多個外部系統(tǒng)寫接口保證數(shù)據(jù)一致性的思路,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12Java實現(xiàn)經(jīng)典游戲飛機大戰(zhàn)-I的示例代碼
《飛機大戰(zhàn)-I》是一款融合了街機、競技等多種元素的經(jīng)典射擊手游。本文將利用java語言實現(xiàn)這游戲,文中采用了swing技術(shù)進(jìn)行了界面化處理,感興趣的可以了解一下2022-02-02