Maven 报java.lang.NoClassDefFoundError

来源:互联网 发布:海湾设备现场编程 编辑:程序博客网 时间:2024/06/06 00:15

背景说明

整理做完的项目,删除不必要的代码和配置后,程序报各种错:

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,以后删模块前,即使感觉没一点用,也还是搜一下有没有人在用。。。


0 0
原创粉丝点击