最近一个安全隐患修复需求,要求项目中snakeYaml版本升级为2.0以上,升级、替换snakeYaml以后,项目启动时遇到如下报错:java.lang.NoSuchMethodError: org.yaml.snakeyaml.constructor.Constructor: method <init>()V not
看报错信息“method <init>()V not found”,其中“<init>”代表“构造方法”,“V”代表返回值void,综上报错信息为“找不到无参构造方法”,再结合刚刚替换了依赖项的版本,看左下角方法区确实没有无参构造方法:
为了更严谨一些,我把替换掉的依赖项重新导入,查看其构造方法,确实是有无参构造方法的:
至此,问题可以确定,但是结合具体需求,需要具体分析。