【复盘】记一次 springboot启动错误Exception in thread "main" java.lang.NoSuchMethodError

启动时报错:

Exception in thread "main" java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationAwareOrderComparator.sort(Ljava/util/List;)V

 

遇到问题不要第一时间面向搜索引擎编程,自己先分析一下:

 

如上log 可以得到的信息:

1. 某个方法没找到

2. 是 spring core 包里的某个方法

 

推测思路:

1. 依赖的jar 包有这个方法,但是 maven 可以依赖拉取不全。

    把 maven 本地仓库清理,重新 update。 发现问题仍然没解决。

 

2. 依赖的 jar 包版本有问题。

    根据 org.springframework.core  这个路径去本地仓库看看引的包版本,发现引的 spring 2.x 版本,

    而项目里的 springboot 是2.x, 对应 spring 版本应该是5.x。

    

【复盘】记一次 springboot启动错误Exception in thread

  

    解决:

    用  mvn dependency:tree  命令列出所有依赖层级, 找到 spring 2.x 的版本。

 

对应依赖进行排除:

【复盘】记一次 springboot启动错误Exception in thread

更新,搞定!

你可能感兴趣的:(日常开发问题集)