2013-10-12 78 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