首页 > 其他分享 >yaml小bug: yaml文件中不能使用tab空格!

yaml小bug: yaml文件中不能使用tab空格!

时间:2022-10-21 19:31:48浏览次数:40  
标签:java boot snakeyaml yaml tab ParserImpl org bug

yaml 的语法其实很容易懂的,  但是对于新手而言, 难以一下子接受, 特别是其中的列表/对象语法,  当然, 更难的是列表嵌套对象语法. 不过呢, 习惯了就会发现, 哦, 还好吧.


问题现象

今天呢, 又遇到一个yaml的配置问题, 但是, 这个问题很奇怪, 一下子发现不了原因啊.  报错误日志如下: 

rocketmq:
name-server: 1214:9876
producer:
access-key: 4f494c12-dfdd-49ec-9c23-121212222222
secret-key: 28b8701c-caa4-47c4-b6df-17830d6e71c8
#必须指定group
#生产者组名,规定在一个应用里面必须唯一
group: wallet-group
#消息发送的超时时间 默认3000ms
send-message-timeout: 3000
#消息达到4096字节的时候,消息就会被压缩。默认 4096
compress-message-body-threshold: 4096
#最大的消息限制,默认为128K
max-message-size: 4194304
#同步消息发送失败重试次数
retry-times-when-send-failed: 3
#在内部发送失败时是否重试其他代理,这个参数在有多个broker时才生效
retry-next-server: true
#异步消息发送失败重试的次数
retry-times-when-send-async-failed: 3
consumer:
access-key: 4f494c12-dfdd-49ec-9c23-2c84b0a9de3brfBd56
secret-key: 28b8701c-caa4-47c4-b6df-17830d6e71c8



org.yaml.snakeyaml.scanner.ScannerException: 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 136, column 1:

^

at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:421)
at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:226)
at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:557)
at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:157)
...
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)


问题分析

左思右想也想不明白,  我的yaml文件里面并没有 reader 字样, 怎么会提示 in 'reader', line 136, column 1: 呢?  难道是 136行? 

用idea 打开文件, 仍然没有头绪..  日志提示是 found character '\t(TAB)' , 也就是遇到了一个跳格tab,  难道是tab 键引起的?  我使用 notepad++ 打开了那个配置文件,  果然发现了异常: 


yaml小bug:  yaml文件中不能使用tab空格!_yaml


原来是yaml 不支持tab 键引入的空格!   问题解决, 下次记得老老实实的使用 space 空格吧 !!!






标签:java,boot,snakeyaml,yaml,tab,ParserImpl,org,bug
From: https://blog.51cto.com/u_12497420/5784538

相关文章

  • Databend 存储架构总览
    目的通过本篇文章带大家理解一下Databend的存储结构。Databend内置的Table引擎为Fusetableengine,也是接下来要花重点篇幅要讲的。另外,Databend还支持外置的Hiv......
  • 创建Pod的YAML文件内的结构
    创建K8S的YAML文件内的结构yaml编写规则大小写敏感使用缩进表示层级关系缩进时不允许使用Tal键,只允许使用空格缩进的空格数目不重要,只要相同层级的元素左侧对齐即可......
  • echarts的bug
    UncaughtError:InvalidesourceFormat:unknownatassert(util.js:404:15)atmountMethods(dataProvider.js:120:9)atnewDefaultDataProvider2(dataPro......
  • Layui 之TreeTable(树形数据表格),适用于权限、部门等
    TreeTable.js下载链接:​​https://pan.baidu.com/s/1lLBge_4MSSViLztwTnPfkA​​提取码:whj3一、效果图 二、前端代码{includefile='common/header'}<divclass="layui-fl......
  • k8s集群yaml文件方式迁移
    一、安装依赖工具实际就是导出数据为json,通过jq删除一些不需要的字段,然后再通过yq转换为yaml格式(不安装直接使用json格式也可以安装,这里主要为例方便查看),这么麻烦主要是......
  • python的bug
    deffield_value_convert(data:List[dict])->List[dict]:#对列进行排序,并且对数据进行转换#分组项对应的列转换res:List[dict]=[]foriindata:......
  • Linux Crontab命令定时任务基本语法与操作教程
    一、Crontab查看编辑重启  1、查看crontab定时执行任务列表  crontab-l  2、编辑crontab定时执行任务  crontab-e  3、删除crontab......
  • TabControl控件
    TabControl控件,页面集合用于管理一个TabPages集合,每个TabPage都是一个容器控件 常用属性:MultiLine,TabPages,AlignMent,Appearance,ItemSize,ImagesList  知识点1:Mu......
  • 微信小程序防止事件冒泡(catchtab的使用)
    使用catchtab,在里层可以避免出现事件冒泡     toDetail(){console.log('1')},toDetail2(){console.log('2')},toDetail3(){......
  • Redisson 大bug处理: Command xxx succesfully sent, but channel xxx has been close
    棘手的bug,无从下手使用redisson的过程中, 我们的应用程序突然报错: org.redisson.client.RedisConnectionClosedException:Command(EXISTS),params:[paypal_fee_i......