背景说明
整理做完的项目,删除不必要的代码和配置后,程序报各种错:
Error creating bean with name.....Could not autowire field: private....等
当然,最关键的是:NoClassDefFoundError
(当时,我的内心是崩溃的!小婊砸,不就删了点东西嘛,矫情个什么劲?!)
解决步骤
1.搜索类全名在哪里被使用
ctrl+H --> File Search-->输入那个找不到的类全路径。
结果:忽略大小写,匹配所有文件,整个项目的范围,整个工作区间的范围,都没找到!!
2.查找项目里是否能引用到个类
ctrl+shift+T--->输入那个找不到的类名,还TM找不到!!!
3.找到那个类对应的jar包名
因为找不到的类是公司内部的项目,遂在群里高呼,谁做的那个东西,Jar包叫啥。即得。
如果是第三方包,请使用万能的谷歌。或者问牛逼的同事。
4.在所有的pom.xml搜那个jar包,统统干掉!
还不行,在pom.xml的Dependency Hierarchy视图找
慢慢的,你就会看到那个Jar了。
要么干掉,要么引入,要么替换使用那个找不到类Jar的jar.
还不行,看看你的maven库里下载那个jar成功没
强烈注意:点左边Dependency Hierarchy会右边Resolved Dependencies出现的Jar也要看
写在最后
其实,看到那个jar包名字的时候,我就感觉不妙。因为那是我刚删除的一个无用模块。我看了,里面的东西于项目无关,就删了。没想到。。有的项目连没用的jar也引用了。。
SO,以后删模块前,即使感觉没一点用,也还是搜一下有没有人在用。。。