原来你不是这样的BUG(1):found character '@' that cannot start any token. (Do not use @ for indentation)

InteliJ下,

在spring boot 1.5.10的ymal配置文件中,

笔者希望得到maven中的一些配置信息,例如项目版本之类的,于是会用到这样的配置:

version: @project.version@

或者更不规范的写法也无所谓

app.java.version: @java.version@

这个配置一直以来运行的都没问题,直到一天,前一分钟在本地跑的好好的项目,后一分钟再启动的时候忽然报了个错,说ymal文件解析出错了,而且说得还很具体:@开头的字符咱解析不了,你娃别求乱用。

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@

对于就是要获取maven属性的朋友,我就废话不说,先说解决方案:

在terminal中,项目的目录下运行

mvn spring-boot:run

也就是直接用mvn命令让spring boot运行一次,然后再通过配置文件获取mvn的配置就不会报错了。

而对于我们看到的,网上流传的各种解决方法,包括stackoverflow上的回答,也都是针对,需要返回一个@开头字符串而提出的,也就是加个引号,那就等于没解决,

还看到有说更新ymal版本的,我是试过,我这边是无效的,别人就不晓得了。

至于其中的原因,我认为主要应该和maven有关而不是spring boot,

但是解决方法就是这样了,知道具体原因的请不吝赐教。

你可能感兴趣的:(原来你不是这样的BUG(1):found character '@' that cannot start any token. (Do not use @ for indentation))