这几天在学习springboot的微服务项目,在配置文件方面也想尝试下新的yml配置,就想把原来项目properties写的文件转换成yml试一下(老项目是之前检出在了Myeclipse里面),结果写好了yml配置文件,项目启动时候报了如下错误:
Exception in thread “main” while scanning for the next token
found character ‘\t(TAB)’ that cannot start any token. (Do not use \t(TAB) for indentation)
in ‘reader’, line 9, column 3:
dubbo:
^
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:420)
at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:226)
…….
错误原因是因为我在yml配置文件中dubbo: 这里用了Tab键来缩进,所以导致spring启动读取yml配置文件不能正确读取。
注意上面括号的地方,这里报错是Myeclipse开发工具,yml配置中使用Tab来缩进确实不符合yaml的语法规则,但是我试了一下在另一个开发工具IDEA中yml配置使用Tab来缩进项目启动是没有报错的。可能是IDEA开发工具对yml文件支持比myeclipse好一些,不过我们还是要注意不要使用Tab来缩进。
还有很多类似的启动报错,很可能就是你的yml配置文件里面有问题,这个时候我们就要仔细检查下yml文件书写是否符合规范,贴一个YAML语言教程地址:YMAL语言教程 里面有写yml文件的语法规则,大家可以去看看。