解决java.lang.NoClassDefFoundError错误


昨天在开发过程中,导入同事的一个服务到本地,首先从git上把项目拉下来,然后使用maven导入eclipse,然后build。

 build的过程中在项目的一个测试类里面报错 java.lang.NoClassDefFoundError org/bosn/xxxxx ,然后当时不知道怎么解决问题,于是把test关闭之后继续build,

build success!

然后启动项目,没有出现问题,正常启动,日志信息没有报错,不过在我使用postman访问接口的时候,无论哪一接口都在报错  java.lang.NoClassDefFoundError org/bosn/xxxxx;

所以没有办法,只好一步一步去找,在Maven本地仓库也有这个class,为什么不对呢,最后经过一下午的奋战,终于找到了原因,因为工具包的版本不一致。

因为我其他的服务依赖的工具jar版本是0.0.1的,但是这个服务缺依赖的是0.0.2的jar,这点是我没有想到的,因为jar是工具服务生成的,所以maven默认可识别。

所以导致虽然jar里面有这个class但是并不是这个版本的,所以导致NoClassDefFoundError 的错误。

总结:

   以后遇到NoClassDefFoundError ,可以先去查看依赖jar版本是否正确,不要搞错了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM