文件报错具体多少行_【独家原创】yml文件缩进不对齐,多一个空格会怎样?

你以为yml文件的缩进无所谓吗?多一个空格少一个空格都可以吗?呵呵。我今天发现yml才是历史上最垃圾、最反人类的数据储存格式。

以下是我的Spring Boot项目中application.yml的内容节选,行号为45到57行。

# 海康视频接口
haikang:
  # 开发环境
   server: https://14.29.96.12
  # 生产环境
#  server: https://192.168.194.8
  yangUsername: yzb73920
  yangPassword: 687dcec699c7ded0a0d8b9b27f38b2aa
  yangPhoneNo: 18588773920
kafka:
  server: localhost:9092
  topic: bymj_sync # 订阅的主题,根据业务内容来取名,比如白云门禁的数据同步可取名为bymj_sync
  groupid: server_249 # 消费者组标识,名字随便起,只要不和别的消费者名字重复即可

看上去很对齐是吧?人眼观察,这些配置信息确实是对齐了的。

然而Spring Boot启动报错:

Caused by: org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping

in 'reader', line 1, column 1:

spring:

^

expected <block end>, but found '<block mapping start>'

in 'reader', line 51, column 3:

yangUsername: yzb73920

^

注意它指的报错行号是第1行和第51行。

我愣了一会,发现错的并不是这两行,而是第48行server: https://14.29.96.12,在server前面多了一个空格。把空格删去即解决问题。

  • 首先,一个成熟的、行业普遍使用的框架,居然会因为多一个空格而无法启动。
  • 其次,你无法启动也就算了,你指的报错位置还指不准。
  • 第三,我多出来的这个空格,在目前最新版本的IntelliJ IDEA中没有任何提示。这是最不能忍的,你说Python缩进有IDE辅助,不用人眼去关注缩进,现在IDE根本没辅助我呀。

ef19f3dbbfeb4ca3691a1f8ecc12e709.png

假如用properties或xml作为配置文件格式,是不会出现这个问题的,它们都不会计较多一个空格或者少一个空格。

只有诸如YAML和Python这种严格要求缩进的语言,才会出现这种莫名其妙的坑。

因此我今天也立下人生目标: 我一辈子不碰Python。 凡是需要Python的应用场景,我都用Node.js解决。

(Python表示:关我什么事?)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值