Java 的 Exception in thread "main" java.lang.NoClassDefFoundError


近日,客戶提出Java程序運行連接connection有誤,因此開始了研究。

由於很久不編寫Java 程序,並且多數情況下需要用 Eclipse。此次為簡單起見,只用Java 純命令行進行調試:

剛開始的時候,可以正常運行。

后來,加入了classpath ,反而報錯:

Exception in thread "main" java.lang.NoClassDefFoundError: test01
Caused by: java.lang.ClassNotFoundException: test01
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: test01. Program will exit. 

后經反復查閱資料,才明白問題出在哪里。

我們設置了 CLASSPATH以后,我們必須要注意:

CLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\jre\lib\rt.jar;c:\gaojian\jdbc\edb-jdbc14.jar;c:\gaojian\jdbc\c3p0-0.9.2-pre4.jar; c:\gaojian\jdbc\mchange-commons-java-0.2.2.jar

應該改為:

CLASSPATH=.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\jre\lib\rt.jar;c:\gaojian\jdbc\edb-jdbc14.jar;c:\gaojian\jdbc\c3p0-0.9.2-pre4.jar; c:\gaojian\jdbc\mchange-commons-java-0.2.2.jar

這個 . ,表示的是當前路徑。 以此備忘。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM