Skip to content

dubbo 3.x 版本与 spring boot starter 2.x 版本的兼容问题 #3096

@marmot-z

Description

@marmot-z

在 dubbo 3.x 版本中的一次提交,将 snakeyaml 从 1.x 版本升级到 2.x 版本后,spring boot starter 2.1.x 版本启动后会出现以下异常:

java.lang.NoSuchMethodError: org.yaml.snakeyaml.constructor.Constructor: method <init>()V not found
at org.springframework.boot.env.OriginTrackedYamlLoader$OriginTrackingConstructor.<init>(OriginTrackedYamlLoader.java:82)
at org.springframework.boot.env.OriginTrackedYamlLoader$OriginTrackingConstructor.<init>(OriginTrackedYamlLoader.java:82)
at org.springframework.boot.env.OriginTrackedYamlLoader.createYaml(OriginTrackedYamlLoader.java:64)
at org.springframework.beans.factory.config.YamlProcessor.process(YamlProcessor.java:132)
at org.springframework.boot.env.OriginTrackedYamlLoader.load(OriginTrackedYamlLoader.java:75)
at org.springframework.boot.env.YamlPropertySourceLoader.load(YamlPropertySourceLoader.java:50)
 ....

其原因是因为 snakeyaml 2.x 版本中移除了一些废弃的方法,导致 spring boot 启动时加载不到对应的 method,从而启动失败。此 issue 中也有提及。

建议重新编辑此页面中的兼容信息。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions