如何解决Java.lang.NoClassDefFoundError?
在Java开发中,我们经常碰到java.lang.NoClassDefFoundError这样的错误,而且我们很容易把java.lang.NoClassDefFoundError和java.lang.ClassNotfoundException这两个错误搞混,事实上这两个错误是完全不同的。我们往往花费时间去不断尝试一些其他的方法去解决这个问题,而没有真正去理解这个错误的原因。这篇文章就是通过解决NoClassDefFoundError错误处理的经验分享来揭开NoClassDefFoundError的一些秘密。NoClassDefFoundError的错误并非不能解决或者说很难解决,只是这种错误的表现形式很容易迷惑其他的Java开发者
关于产生这个问题的原因,早些时候我装过HP的UFT(以前版本叫QTP),它这个软件带了自己的java,并且会把自己的java添加到环境变量之中,比如图里这样
<img src="http://pic3.zhimg.com/v2-f1ec24b9866476275b96b2ffe9f9d29e_b.jpg" data-caption="" data-rawwidth="380" data-rawheight="111" class="content_image" width="380">
我看它在系统变量里面添加了好几个相关的,比如IBM_JAVA_OPTIONS之类的,在用户的环境变量里也有添加,因为暂时用不到这个软件,所以我就把相关的环境变量全删了,在启动eclipse就可以用了。
所以呢,你可以查看一下自己的环境变量里,是否有其他软件添加的java相关的环境变量,有的话酌情处理一下试试,或许有效。
还有,你得先要保证自己装的java是有效的。