Как решить snakeyaml NoSuchMethodError: getStyle()

В моем весеннем загрузочном приложении я использую 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>

У кого-нибудь есть подсказка для устранения этой ошибки?

Редактировать:

Кажется, ошибка возникает при разборе application.yml в Spring:

server:
  port: 8084

2 ответа

Решение

Это связано с этим изменением:

Refactor ScalarNode - используйте enum ScalarStyle вместо Character

Вы можете либо вернуться к SnakeYaml 1.19, который является последним выпуском перед этим изменением, либо подождать, пока Spring Boot поддержит SnakeYaml 1.20+.

Вам нужно обновить до SnakeYml 1.23, они исправили несовместимое изменение API, появившееся в 1.20.

<dependency>
  <groupId>org.yaml</groupId>
  <artifactId>snakeyaml</artifactId>
  <version>1.23</version>
</dependency>
Другие вопросы по тегам