InteliJ下檩咱,
在spring boot 1.5.10的ymal配置文件中扎附,
筆者希望得到maven中的一些配置信息膨处,例如項(xiàng)目版本之類的健爬,于是會(huì)用到這樣的配置:
version: @project.version@
或者更不規(guī)范的寫(xiě)法也無(wú)所謂
app.java.version: @java.version@
這個(gè)配置一直以來(lái)運(yùn)行的都沒(méi)問(wèn)題埋泵,直到一天幔欧,前一分鐘在本地跑的好好的項(xiàng)目,后一分鐘再啟動(dòng)的時(shí)候忽然報(bào)了個(gè)錯(cuò)秋泄,說(shuō)ymal文件解析出錯(cuò)了琐馆,而且說(shuō)得還很具體:@開(kāi)頭的字符咱解析不了,你娃別求亂用恒序。
BUG如下
Exception in thread "main" while scanning for the next token
found character '@' that cannot start any token. (Do not use @ for indentation)
in 'reader', line 4, column 11:
? ? ? ? version: @project.verion@
對(duì)于就是要獲取maven屬性的朋友瘦麸,我就廢話不說(shuō),先說(shuō)解決方案:
在terminal中歧胁,項(xiàng)目的目錄下運(yùn)行
mvn spring-boot:run
也就是直接用mvn命令讓spring boot運(yùn)行一次滋饲,然后再通過(guò)配置文件獲取mvn的配置就不會(huì)報(bào)錯(cuò)了厉碟。
而對(duì)于我們看到的,網(wǎng)上流傳的各種解決方法屠缭,包括stackoverflow上的回答箍鼓,也都是針對(duì),需要返回一個(gè)@開(kāi)頭字符串而提出的呵曹,也就是加個(gè)引號(hào)款咖,那就等于沒(méi)解決,
還看到有說(shuō)更新ymal版本的奄喂,我是試過(guò)铐殃,我這邊是無(wú)效的,別人就不曉得了跨新。
至于其中的原因富腊,我認(rèn)為主要應(yīng)該和maven有關(guān)而不是spring boot,
但是解決方法就是這樣了域帐,知道具體原因的請(qǐng)不吝賜教赘被。