本来是一个已经可以运行的普通非web项目,然后将其添加到web项目中时,编译正常,运行报错:NoClassDefFoundError。起初以为是ClassNotFoundException异常,明明第三方jar包已经引入,为什么就是不行呢。。。(初初编程)后来惊觉是NoClassDefFoundError,纵观几个博客之后,说实话,一开始没看懂,都是jvm什么加载之类的,后来,细细看,一点点看,在程序中不断尝试各种方法,,,最后发现,是因为jar包虽然被引入了,但是在部署到tomcat的时候,有些自己手动引入的jar包并没有被囊括,于是在运行的时候,找不到相应的class。
以下是几个参考的博客链接:
http://blog.****.net/chenchaofuck1/article/details/50971994
http://wolfdream.iteye.com/blog/1131558
http://blog.****.net/jamesjxin/article/details/46606307
本来只有NoClassDefFoundError,捣鼓捣鼓,出现了ClassNotFoundException,而看看侧栏中的工程结构,第三方jar包也已经引入了,小白非常困惑。看下图。
准备rebuild一下,突然想,既然是运行错误的话,在我打包的时候,就应该不存在才对(也就是通常所说的没有被加进lib,只是我以前没关注过)于是点开lib一看,发现被报异常的类所在jar包并不在,而是被放置在右侧Available Elements栏目下(还有maven引入的依赖也被放置在该栏中),双击jar包,便被添加到了lib下,然后运行,一切正常。
其实我遇到的这个问题就是eclipse中的添加jar包问题,只是我以为在idea中,通过在project structure中modules模块下添加本地依赖就可以了,诶。。。
但是对于在idea中正确添加依赖,并且保证依赖在部署的时候是被添加的,还请路过的大佬在评论中告知一二~~非常愿意学习。