How to resolve snakeyaml NoSuchMethodError: getStyle()

How to resolve snakeyaml NoSuchMethodError: getStyle()

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

java.lang.NoSuchMethodError: org.yaml.snakeyaml.nodes.ScalarNode.getStyle()Ljava/lang/Character;

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

<dependency>
  <groupId>org.yaml</groupId>
  <artifactId>snakeyaml</artifactId>
  <version>1.21</version>
</dependency>

有人有解决此错误的提示吗?

编辑:

解析spring的application.yml时似乎出现错误:

server:
  port: 8084

那是由于this change:

Refactor ScalarNode - use enum ScalarStyle instead of Character

您可以回滚到 SnakeYaml 1.19,这是此更改之前的最后一个版本,或者等待 Spring Boot to support SnakeYaml 1.20+

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

<dependency>
  <groupId>org.yaml</groupId>
  <artifactId>snakeyaml</artifactId>
  <version>1.23</version>
</dependency>