Ich habe eine .yml
Datei öffnen in Netbeans 8.1, die wie folgt aussieht:„Wir hatten diese Zuordnung Werte sind hier nicht erlaubt“ auf Tag YAML
---
rules:
- !tp.aoi.topology.TopologyRule
labels:
- empty_A
output:
- entry_B
Netbeans hat eine verschnörkelt rote Linie unter der - !tp.aoi.topology.TopologyRule
Linie und spuckt folgendes aus:
We had this mapping values are not allowed here
Was verursacht diesen Fehler? Die Grammatik dieses Satzes ist unsinnig. Wenn ich das Tag entferne, gibt es keine Probleme. Von dem, was ich von YAML von the spec verstehe, sollte dies gültig sein YAML (siehe die Beispiele auf "primären Tag-Handles" in Abschnitt 6.18), auch this section of the spec unter Abschnitt 2.24 "Globale Tags".
In diesem Dokument gibt es keine Registerkarten, nur Leerzeichen.
Ich bin ziemlich sicher, dass ich diese exakt gleiche Datei mit einer früheren Version von NetBeans auf Windows (ich bin derzeit auf Ubuntu) ohne Probleme geöffnet habe, aber ich habe möglicherweise auch einige andere YAML-Plugins verwendet.
Was verursacht diesen Fehler? Ich habe andere Parser ausprobiert, und das scheint gültig zu sein. Von another post on SO scheint es, dass dies oft damit zusammenhängt, dass zwischen beiden Seiten eines Mappings ein Leerzeichen fehlt; Das scheint nicht mein Problem zu sein.
Der hier gezeigte Code einen Raum vor dem '' --- und der nachfolgenden Zeile. Hat Ihre aktuelle YAML-Datei auch diese Leerzeichen? Wenn dies der Fall ist, machen sie das YAML ungültig, weil das "---" als Skalar (String) anstelle eines Dokumentstartindikators interpretiert wird und ein Mapping einem Skalar wie diesem nicht folgen kann. Wenn Ihre tatsächliche Datei * die Leerzeichen nicht enthält, ist das tatsächlich sehr verwirrend. –
Danke, das habe ich nicht bemerkt. Es war einfach mein Fehler beim Kopieren des Textes in meine Frage. Die tatsächliche Datei enthält diese Leerzeichen nicht. Ich habe die Frage korrigiert. – karobar
Sieht so aus, als wäre das ein Bug, https://netbeans.org/bugzilla/show_bug.cgi?id=251407 – Gary