????這幾天在學習springboot的微服務(wù)項目沮翔,在配置文件方面也想嘗試下新的yml配置审姓,就想把原來項目properties寫的文件轉(zhuǎn)換成yml試一下(老項目是之前檢出在了Myeclipse里面)鹿寻,結(jié)果寫好了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開發(fā)工具,yml配置中使用Tab來縮進確實不符合yaml的語法規(guī)則趟卸,但是我試了一下在另一個開發(fā)工具IDEA中yml配置使用Tab來縮進項目啟動是沒有報錯的蹄葱。可能是IDEA開發(fā)工具對yml文件支持比myeclipse好一些锄列,不過我們還是要注意不要使用Tab來縮進图云。
????還有很多類似的啟動報錯,很可能就是你的yml配置文件里面有問題右蕊,這個時候我們就要仔細檢查下yml文件書寫是否符合規(guī)范琼稻,貼一個YAML語言教程地址:YMAL語言教程 里面有寫yml文件的語法規(guī)則,大家可以去看看饶囚。