如何解决snakeyaml NoSuchMethodError:getStyle()

use*_*039 3 java yaml snakeyaml

在我的Spring Boot应用程序中,我正在使用snakeyaml来解析YAML文件。使用库时出现以下错误:

java.lang.NoSuchMethodError: org.yaml.snakeyaml.nodes.ScalarNode.getStyle()Ljava/lang/Character;
Run Code Online (Sandbox Code Playgroud)

我正在使用以下Maven依赖项:

<dependency>
  <groupId>org.yaml</groupId>
  <artifactId>snakeyaml</artifactId>
  <version>1.21</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

有没有人提示您解决此错误?

编辑:

解析spring的application.yml时似乎发生了错误:

server:
  port: 8084
Run Code Online (Sandbox Code Playgroud)

Leo*_*ngs 10

您需要更新到SnakeYml 1.23,它们修复了1.20中引入的不兼容的API更改。

<dependency>
  <groupId>org.yaml</groupId>
  <artifactId>snakeyaml</artifactId>
  <version>1.23</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)


fly*_*lyx 5

这是由于此更改

重构ScalarNode-使用枚举ScalarStyle代替Character

您可以回滚到SnakeYaml 1.19(此更改之前的最新发行版),也可以等待Spring Boot支持SnakeYaml 1.20+