【发布时间】:2020-06-10 12:59:27
【问题描述】:
我在 YAML 文件中添加我自己的自定义属性。现有的 Spring 属性可以正常工作,但我自己的自定义属性会变成黄色下划线,这会在项目中产生警告。有一个选项可以添加到元数据中,但是一旦我这样做了,警告就会变成这个错误:
Expected a 'String' but got a 'Mapping' node
这就是我要添加的内容:
com:
foo:
bar:
foobar:
someString: hello
someBoolean: true
这个 YAML 元数据存储在哪里,我如何告诉它 com 不是字符串,而实际上是一个映射节点?
******编辑******
我发现元数据存储在 META-INF 文件夹中的一个名为 additional-spring-configuration-metadata.json 的文件中。例如,如果我告诉 Eclipse 为 com 生成元数据,则会将其添加到所述文件中:
{"properties": [{
"name": "com",
"type": "java.lang.String",
"description": "A description for 'com'"
}]}
您必须将java.lang.String 更改为什么才能使com 接受foo 等等?
【问题讨论】:
-
你用什么来编辑/验证 YAML?
-
我正在使用从 Eclipse Marketplace 获得的 YAML 编辑器 1.6.2
-
我刚刚在 META-INF 文件夹中找到了一个名为“/additional-spring-configuration-metadata.json”的文件,其中包含我需要的内容。我需要将 java.lang.String 更改为什么才能知道它是一个映射节点?
-
在属性中将“name”更改为“com.foo”,将“type”更改为(完全限定的类名)
标签: java eclipse yaml metadata