如果只升级snakeyaml到2.0及以上版本,而不想升级springboot的版本(本文基于springboot2.6.15版本,springboot2.2.5.RELEASE还是得升级到2.6.15才可以),那么启动的时候会报找不到构造方法的错误,导致无法启动。

java.lang.NoSuchMethodError: org.yaml.snakeyaml.constructor.Constructor: method <init>()V not found

        这个问题的原因是项目中有使用redisson-spring-boot-starter,依赖了jackson-dataformat-yaml,而jackson-dataformat-yaml又依赖了snakeyaml。

        解决方法是把jackson-dataformat-yaml也升级,如snakeyaml版本升级到2.2,则jackson-dataformat-yaml应升级到2.16.1,升级后可正常启动。

<dependency>
   <groupId>com.fasterxml.jackson.dataformat</groupId>
   <artifactId>jackson-dataformat-yaml</artifactId>
   <version>2.16.1</version>
</dependency>

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐