java编译找不到类NoClassDefFound

来源:百度知道 编辑:UC知道 时间:2024/05/23 13:56:12
具体情况是这样,我有一个web程序,使用struts+spring+hibernate.另外我还有一个后台程序,使用Timer定时执行一定的任务。

我在eclipse下面部署到tomcat下后,我去部署路径下的classes文件夹执行如下指令
set CLASSPATH=%CLASSPATH%;D:\Program files\Tomcat5\webapps\nhyj\WEB-INF\classes\lib\*;
java sms.Test

我专门设定了classpath,但是执行结果抛异常
Exception in thread "Timer-0" java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactory

说找不到日志类。为什么?

该程序在eclipse下面执行没有问题,所以肯定是环境方面哪有问题,但是我实在找不到原因了。

求教!
谢谢各位,不过请看清楚问题,eclipse下是正常的,我想知道为什么手动用java指令编译执行会找不到包。

我现在的解决方法很笨,一个一个jar包set到classpath去,我记得以前只要把lib的路径set为classpath就可以了,不知道为什么今天怎么都不行

没有找到commons-logging.jar的jar包。
搜索一下我的电脑,找到logging的包后,拷贝到应用的lib中。

方法一:找到commons-logging.jar的jar包,拷贝到应用的lib中。重启eclipse
方法二:在环境变量中classpath中加入commons-logging.jar的文件所在路径!

上面的回答很有道理嘿嘿,我有得了两份