Eclipse下好使,但是cmd下执行java运行class文件提示Exception in thread "main" java.lang.NoClassDefFoundError问题

时间:2022-03-31 07:41:42

其实遇到这个问题,我想大概不会是几个低级错误照成的,网上主要说的几点是:1.注意大小写。2.注意别java TCPSocket.clas,别加class。3.注意路径。

个人感觉也就是第三个需要注意,前两个我就不说了。

关于路径问题。注意,不用像网上说的,非要把你class的路径配置到classpath下,只要在classpath的配置最前面加上“.;”即可。“.”代表当前目录下即可,“;”代表间隔。

例如的我配置:

classpath:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

如果这样还是不好使,那么真正的问题一定是如下的:

查看你的类文件,里面是不是在某一个包下。如果是,那就找到问题所在了。拿我的问题来说:

我的类文件是TCPServer.java,是在com.socket这个包里面。

那一般的做法都是进入cmd中,找到该文件的目录。比如:D:\java\eclipseworkspace\TestSocket\src\com\socket>_

大家是不是会尝试输入 java TCPServer 提示错误,然后尝试java com/socket/TCPServer还是提示错误。

其实正确的做法是:

退回上一级目录D:\java\eclipseworkspace\TestSocket\com\

然后运行java com/socket/TCPServer. OK啦!!!

这样:D:\java\eclipseworkspace\TestSocket\src>java com/socket/TCPClient