如何解决snakeyaml NoSuchMethodError:getStyle()

时间:2018-06-13 10:28:15

标签: java yaml snakeyaml

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

RewriteCond %{REQUEST_URI} /news1/id=(3[3-4]\d{3})|35[0-5]\d{2}|35[0-7]\d{2}|358[0-1]\d{1}|3582[1-6])\.php [NC]  
RewriteRule ^(.*)$ https://www.website.com/news2/$1? [R=301,L]

我使用以下maven依赖:

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

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

修改

解析spring的application.yml:

时似乎发生了错误
<dependency>
  <groupId>org.yaml</groupId>
  <artifactId>snakeyaml</artifactId>
  <version>1.21</version>
</dependency>

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:4)

这是由于this change

  

Refactor ScalarNode - 使用枚举ScalarStyle而不是Character

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