springboot application無法使用$獲取pom變量的問題及解決
application無法使用$獲取pom變量問題
在maven的pom文件中進(jìn)行了多環(huán)境變量配置,引用了maven-resources-plugin,在application.properties文件中通過以下配置指定不同環(huán)境下的配置文件,
spring.profiles.active = ${profiles.active}但是${profiles.active}無法從pom文件中獲取變量值替換。
由于${}方式會被maven處理。如果你pom繼承了spring-boot-starter-parent,Spring Boot已經(jīng)將maven-resources-plugins默認(rèn)的${}方式改為了@@方式,如@name@
如果還想繼續(xù)使用${}占位符方式
只需要在pom文件中加上下面配置即可:
<build> ? ? <pluginManagement> ? ? ? ? <plugins> ? ? ? ? ? ? <plugin> ? ? ? ? ? ? ? ? <artifactId>maven-resources-plugin</artifactId> ? ? ? ? ? ? ? ? <configuration> ? ? ? ? ? ? ? ? ? ? <encoding>utf-8</encoding> ? ? ? ? ? ? ? ? ? ? <useDefaultDelimiters>true</useDefaultDelimiters> ? ? ? ? ? ? ? ? </configuration> ? ? ? ? ? ? </plugin> ? ? ? ? </plugins> ? ? </pluginManagement> </build>
或者使用
<configuration> ? ? ? ? ? ? ? ? ? ? <delimiters> ? ? ? ? ? ? ? ? ? ? ? ? <delimiter>@</delimiter> ? ? ? ? ? ? ? ? ? ? </delimiters> ? ? ? ? ? ? ? ? ? ? <useDefaultDelimiters>false</useDefaultDelimiters> ? ? ? ? ? ? ? ? </configuration>
將<useDefaultDelimiters>false</useDefaultDelimiters>
改為<useDefaultDelimiters>true</useDefaultDelimiters>
application.yml無法使用@@讀取pom.xml中標(biāo)簽值
在application.yml中使用了@@讀取標(biāo)簽值,
報下面的錯誤
Caused by: org.yaml.snakeyaml.scanner.ScannerException:
while scanning for the next token found character '@' that cannot start any token.
(Do not use @ for indentation) in 'reader', line 5, column 11:
name: @artifactId@
解決辦法
在模塊的pom.xml文件下引入一下配置
<build> ?? <!--如果不設(shè)置resource 會導(dǎo)致application.yml中的@@找不到pom文件中的配置--> ? ? ? ? <resources> ? ? ?? ? ? ? ? <resource> ? ? ? ? ? ? ? ? ? ? ? ? <directory>src/main/resources</directory> ? ? ? ? ? ? <filtering>true</filtering> ? ? ? ? ? ? ? ? </resource> ? ? ? ? </resources> </build>
然后重新啟動,即可成功。
application.yml無法使用@@讀取pom.xml中標(biāo)簽值
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java和javascript中過濾掉img形式的字符串不顯示圖片的方法
這篇文章主要介紹了java和javascript中過濾掉img形式的字符串不顯示圖片的方法,以實例形式分別講述了采用java和javascript實現(xiàn)過濾掉img形式字符串的技巧,需要的朋友可以參考下2015-02-02
Spring boot如何快速的配置多個Redis數(shù)據(jù)源
這篇文章主要介紹了Spring boot如何快速的配置多個Redis數(shù)據(jù)源,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
SpringBoot整合ZXing實現(xiàn)二維碼和條形碼的創(chuàng)建
如今我們越來越多的東西需要用到二維碼或者條形碼,商品的條形碼,付款的二維碼等等,所以本文小編給大家介紹了SpringBoot整合ZXing實現(xiàn)二維碼和條形碼的創(chuàng)建,文章通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
從字節(jié)碼角度解析synchronized和反射實現(xiàn)原理
這篇文章主要介紹了從字節(jié)碼角度解析synchronized和反射的實現(xiàn)原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
如何使用Spring AOP的通知類型及創(chuàng)建通知
這篇文章主要給大家介紹了關(guān)于如何使用Spring AOP的通知類型及創(chuàng)建通知的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring AOP具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12

