【发布时间】:2023-04-02 08:18:01
【问题描述】:
我在 Netbeans 8.1 中打开了一个 .yml 文件,如下所示:
---
rules:
- !tp.aoi.topology.TopologyRule
labels:
- empty_A
output:
- entry_B
Netbeans 在- !tp.aoi.topology.TopologyRule 行下方有一条弯曲的红线,并吐出以下内容:
We had this mapping values are not allowed here
是什么导致了这个错误?这句话的语法对我来说是荒谬的。 如果我删除标签,则没有任何问题。根据我从the spec 对 YAML 的了解,这应该是有效的 YAML(请参阅第 6.18 节下的“主要标签句柄”示例),以及第 2.24 节“全局标签”下的this section of the spec。
本文档中没有制表符,只有空格。
我相当肯定我已经在 Windows 上使用早期版本的 NetBeans(我目前在 Ubuntu 上)打开了这个完全相同的文件,没有任何问题,但我可能也一直在使用其他一些 YAML 插件。
是什么导致了这个错误?我尝试过其他解析器,这似乎是有效的。从another post on SO 看来,这通常与映射两侧之间缺少空格有关;这似乎不是我的问题。
【问题讨论】:
-
这里显示的代码在
---和后续行之前有一个空格。您的实际 YAML 文件是否也有这些空格?如果是这样,它们会使 YAML 无效,因为---被解释为标量(字符串)而不是文档开始指示符,并且映射不能遵循这样的标量。如果你的实际文件没有有空格,那么这确实很令人费解。 -
谢谢,我没注意到。这只是我将文本复制到我的问题中的错误。实际文件没有这些空格。我已经更正了这个问题。
-
看起来这可能是一个错误,netbeans.org/bugzilla/show_bug.cgi?id=251407
-
是的,这就是我害怕的。通过一些搜索,似乎这个错误已经在不同的情况下得到了解决,所以我没有放弃希望。