最近总结一下ideal 运行springboot项目 class not found 解决办法,因为可能极端情况太多,只能试行,不一定能解决
此教程能解决一下问题
1.如果你同事的运行环境和代码一致,都是用ideal运行springboot项目,同事的可以启动,但是你的启动报错,出现class not found异常 。
2.springboot jar方式可以启动(通过 java -jar方式启动),但是ideal运行项目启动报错,出现class not found异常
错误的原因分析
spingboot jar是用spingboot自带的fatjar启动机制,打出来fat jar包依赖都是完整和正确的,所以不会出现这种环境问题。但是ideal是用自己的类加载器进行加载,而ideal因为某种bug无法依赖到最新第三方jar包,导致加载不到类,即使代码正确,进行rebuild操作,也会出现class not found的情况。
解决办法
经过分析,因为ideal依赖加载错误的依赖或者加载不到依赖包,所以需要修正ideal加载的依赖包才可以正常启动。
1.通过下面任一个都可以分析当前ideal加载的依赖jar包是否正确,分析完转步骤2
2.经过步骤1分析查找不到所需依赖包或者版本不正确,可以通过下面办法强制刷新ideal的依赖
maven配置以下选项打勾,红圈按钮,做完转步骤3
3.用ideal自带的maven插件刷新一遍依赖,红圈的按钮,再次分析依赖是否自己需要的(步骤1),如果不对则步骤4.
4.删掉idea 的.iml后缀配置文件,然后用步骤3的操作刷新maven项目,ideal会重新构建项目,会根据pom文件重新加载一遍依赖,做完再次分析依赖是否自己需要的(步骤1),如果不是则步骤5
5.把 项目当前目录下 .ideal文件全部删除,就相当于重新初始化当前项目,强刷依赖,再次查看依赖是否自己需要的(步骤1),如果不是则步骤6
6.经过以上步骤不行的话,则删掉目录,重新拉代码一遍。然后重启ideal,重新导入项目吧。(最后终极办法)
ps:有些同学连maven依赖的pom都没有更新最新,跟其他同学不一样,pom文件可能是旧的版本,这样你用以上解决办法是解决不了问题的,首先要保证pom文件弄正确,再试行上面办法