2013-10-12 42 views
1

我试图用当前目录下的命令:java SocketTest来运行一个合适的类。 可是,我错了:在java 1.7下我的classpath配置有什么问题?

Exception in thread "main" java.lang.NoClassDefFoundError:SocketTest(wrong name:socket/SocketTest)...

这是我在Windows XP CLASSPATH和PATH CONFIGRATION: JAVA_HOME

C:\Program Files\Java\jdk1.7.0_25\ 

类路径:

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

路径:

%JAVA_HOME%\jre\bin;C:\Program Files\Java\jdk1.7.0_25\bin;C:\Ruby187\bin;H:\Program Files\ARM\ADSv1_2\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%JAVA_HOME%\bin;C:\Program Files\Microsoft SQL Server\80\Tools\BINN 

我认为.;已经经过仔细的编写,所以我不确定java命令有什么问题。请有人帮忙!

+0

显示类的结构和如何运行命令。 –

+2

可能是一个包装问题。您的类需要位于反映包结构的目录中,并且可以从任何目录作为该结构的根目录运行“java”。如果你的类'SocketTest'在包'socket'中,那么你的文件'SocketTest.class'需要在'。/ socket'目录下。 – chrylis

+0

您的%JAVA_HOME%可能不是问题。你的%PATH%肯定不是问题。建议:通过从命令提示符尝试“java”命令进行调试。 – paulsm4

回答

0

错误消息指出您需要将您的课程更改为更正后的包socket。所以,你需要用名字socket创建文件夹,然后把你的SocketTest.class到该文件夹​​,然后运行以下命令(的socket的父文件夹下):

java socket.SocketTest