java.lang.NoSuchMethodError:org.yaml.snakeyaml.constructor.SafeConstructor:方法()V不是建立位于io.swagger.v3.parser.util.DDeserializationUtils$CustomSnakeYamlConstructor。(反序列化Utils.java:397)位于io.swagger.v3.parser.util.DDeserializationUtils.readYamlTree(Deserialization Utils.java:209)位于io.swagger.v3.parser.util.DdeserializationUtils.deserializeIntoTree(反序列化Utils.java:145)位于io.swagger.v3.parser.OpenAPIV3Parser.readContents(OpenAPIV3Parser.java:168)位于io.swagger.v3.parser.OpenAPIV3Parser.readLocation(OpenAPIV3Parser.java:97)位于io.swagger.parser.OpenAPIParser.readLocation(OpenAPIParser.java:16)网址:com.atlassian.oai.validator.util.OpenApiLoader.readSwaggerParserResult(OpenApiLoader.java:79)网址:com.atlassian.oai.validator.util.OpenApiLoader.loadApi(OpenApiLoader.java:48)网址:com.atlassian.oai.validator.OpenApiInteractionValidator$Builder.build(OpenApiInteraction_validator.java:643)
这是在将snakeyaml的版本从1.3 更新到2.0 之后出现的
事实上,snakeyaml 2.0没有org.yaml.snakeyaml.constructor.SafeConstructor
类的空arg构造函数。
在snakeyaml 1.33中,存在这样的构造函数,但已被弃用。
在snakeyaml 2.0中尝试取代
import org.yaml.snakeyaml.{LoaderOptions, Yaml}
import org.yaml.snakeyaml.constructor.SafeConstructor
val safeConstructor = new SafeConstructor
val yaml = new Yaml(safeConstructor)
带有
val loaderOptions = new LoaderOptions
// loaderOptions.setCodePointLimit(...)
// ...
val safeConstructor = new SafeConstructor(loaderOptions)
val yaml = new Yaml(safeConstructor)
https://bitbucket.org/snakeyaml/snakeyaml/wiki/Documentation#markdown-收割台装载yaml
https://bitbucket.org/snakeyaml/snakeyaml/src/master/src/test/java/examples/SafeConstructorExampleTest.java
对我来说;uap-java";lib不支持";snakeyaml 2.0〃;。升级到最新版本(到目前为止从1.5.2升级到1.5.4)解决了这个问题。