2012-06-11 175 views
3

我目前使用的是Ubuntu 11.10和java SE 1.6.0_26。我正在嘗試運行一個非常簡單的「Hello World」應用程序。我把java文件HelloWorld.java放在Home文件夾中。我使用命令javac HelloWorld.java編譯它。我認爲它的工作原理是因爲它沒有顯示任何編譯錯誤,並且創建了HelloWorld.classJava應用程序無法啓動

當我鍵入命令java HelloWorld我有這樣的錯誤:

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld 
Caused by: java.lang.ClassNotFoundException: HelloWorld 
     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: HelloWorld. Program will exit. 

順便說一句,這是我的Java代碼:

public class HelloWorld { 
    public static void main (String args[]) { 
     System.out.println("Hello World!!!"); 
    } 
} 
+2

你從哪個文件夾運行java命令? –

+0

@AmitBhargava主文件夾。我的HelloWorld.java和HelloWorld.class所在的目錄。 – TheOnlyIdiot

+2

請問您可以試試以下內容:java -classpath HelloWorld –

回答

7

這可能是因爲該文件是不是在你的類路徑..試試下面的命令:

java -classpath . HelloWorld 

V

+0

嘿,它的工作。你能告訴我問題的原因嗎?謝謝。 – TheOnlyIdiot

+0

我覺得很奇怪Java會遇到類路徑問題,除非安裝不正確。通常,(U)buntu上的非包java文件不應該有這個問題,但無論如何這總是一件好事。 – Makoto

+1

@TheOnlyIdiot - 就像他說的,問題在於這個類不在你的類路徑中。這一切都在'java'命令的手冊條目中解釋。特別是關於設置類路徑的頁面。 –