2010-07-27 49 views
0

我只是想編譯並運行一個非常簡單的測試程序,但它根本行不通,而且我不知道問題是什麼。編譯基本的Hello World程序時拋出ClassNotFoundException

我有一個java項目已經堆在我身上,我對java一無所知。特別是從Windows命令行編譯。

我有兩個罐子,我需要編譯一個簡單的「hello world」程序。

這裏是我的 「的build.bat」

C:\jdk1.6.0_21\bin\javac -cp "C:\Users\FREYERA\Desktop\Test";"C:\Users\FREYERA\Desktop\Test\test1.jar";"C:\Users\FREYERA\Desktop\Test\test2.jar"; "C:\Users\FREYERA\Desktop\Test\sample.java" 

然後,我:無論我怎麼設置我的類路徑

Exception in thread "main" java.lang.NoClassDefFoundError: sample Caused by: java.lang.ClassNotFoundException: sample 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:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java: at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

C:\jdk1.6.0_21\bin\java sample 

這來發回的錯誤,我不能爲了我的生活讓這個HELLO WORLD程序運行。

有人可以幫我嗎?我正在拉我的頭髮。

回答

1

還可以指定類路徑爲翻譯找到​​你的班級:

java -classpath "C:\Users\FREYERA\Desktop\Test";"C:\Users\FREYERA\Desktop\Test\test1.jar";"C:\Users\FREYERA\Desktop\Test\test2.jar"; Sample 

這將運行你的課程從任何工作目錄。

1

從與類目錄中它運行程序:

C:\Users\FREYERA\Desktop\Test\>java sample

CLASSPATH(正常),包括當前目錄。

如果在當前目錄「sample.class」,你還需要在test1.jar和test2.jar類,這應該工作:

java -cp "test1.jar;test2.jar;." sample

+0

工作目錄是C:\ Users \ FREYERA \ Desktop \ Test \>目錄。似乎沒有什麼區別。 – 2010-07-27 18:26:24

+0

Java的區分大小寫。你的班級是「樣品」還是「樣品」? – mwalker 2010-07-27 18:32:06

0

AFER運行此命令

C:\ jdk1.6.0_21 \斌\的javac -cp 「C:\用戶\ FREYERA \桌面\測試」;「C:\用戶\ FREYERA \桌面\測試\ test1.jar 「;」 C:\用戶\ FREYERA \桌面\測試\ test2.jar「; 「C:\ Users \ FREYERA \ Desktop \ Test \ sample.java」

它會在此位置「C:\ Users \ FREYERA \ Desktop \ Test \」中創建一個.class文件。即sample.class

您需要轉到此文件夾位置並運行您的java命令來執行程序。確保您的「JAVA_HOME」環境變量已設置。

或者您可以將sample.class文件複製到「C:\ jdk1.6.0_21 \ bin \」文件夾並運行該命令。