看了好几篇文章,都没有提到这个解决办法,决定写一篇文章。
如果你的项目是多模块的,可以参考下,这个问题应该是切换JDK版本导致,maven编译时依赖了不符合运行时的JDK版本。解决办法也很简单,找到maven settings.xml里的localRepository配置,进入这个文件夹里,把你当前项目的包名如:com.abc,按这个顺序进入文件夹,把abc文件夹删除。然后重新mvn install搞定。
原因就是maven优先使用本地仓库的依赖,但本地仓库是切换JDK版本之前的JDK编译的,所以不兼容。