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-05
Spring @Bean注解的使用場景與案例實現(xiàn)
隨著SpringBoot的流行,我們現(xiàn)在更多采用基于注解式的配置從而替換掉了基于XML的配置,所以本篇文章我們主要探討基于注解的@Bean以及和其他注解的使用2023-03-03
SpringBoot實現(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-12
Java實現(xiàn)經(jīng)典游戲飛機大戰(zhàn)-I的示例代碼
《飛機大戰(zhàn)-I》是一款融合了街機、競技等多種元素的經(jīng)典射擊手游。本文將利用java語言實現(xiàn)這游戲,文中采用了swing技術(shù)進(jìn)行了界面化處理,感興趣的可以了解一下2022-02-02

