2011-07-12 248 views
0

我新的Java和我只是做了我的第一個程序:HelloWorld的後,我編譯它,我試圖運行它,它給了我這個錯誤:我使用的Ubuntu版本10.04需要java編程幫助!

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld Caused by: java.lang.ClassNotFoundException: HelloWorld at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) Could not find the main class: HelloWorld. Program will exit.

,我做了使用geany編寫程序,並使用命令javac HelloWorld.java在終端編譯它。 然後我用終端命令運行它:java HelloWorld然後出現上面的錯誤。 我HelloWorld.java文件看起來像這樣:

public class HelloWorld { 

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

然後我HelloWorld.class文件看起來像這樣:

public static void main(string[] args) 
+4

'java -classpath。如果HelloWorld.class在你當前的工作目錄中,HelloWorld應該可以工作。 – biziclop

回答

2

你要麼需要直接從包含您的.class文件的目錄中運行java命令,或您需要定義類路徑,也就是JVM可以找到您編譯的Java類的地方。嘗試:

java -classpath <directory> HelloWorld 

其中<directory>是(相對的)路徑包含您的HelloWorld.class文件的目錄。

+0

我試過打字:java -classpath'/ home /(user)/ Desktop/java1'HelloWorld但我給了我這個錯誤:異常在線程「main」java.lang.ClassFormatError:不兼容的魔法值1886741100在類文件HelloWorld中 \t在java.lang.ClassLoader.defineClass1(本機方法) \t在需要java.lang.ClassLoader.defineClass(ClassLoader.java:634) \t在java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) \t在java的.net.URLClassLoader.defineClass(URLClassLoader.java:277) \t at java.net.URLClassLoader.access $ 000(URLClassLoader。java:73) \t at java.net.URLClassLoader $ 1.run(URLClassLoader.java:212) – kolton

0

當您運行的程序,看起來你可以打字:中

java HelloWorld.class 

代替

java HelloWorld 

當我試了一下,它像它應該,除非我包含「.class」,它導致它給出你粘貼的錯誤。

+0

不,我鍵入java HelloWorld – kolton

0

根據您對Jeen Broekstra解決方案的迴應,我建議您查看代碼中的「slanty」引用 - See here。再次java -classpath '/home/(user)/Desktop/java1' HelloWorld

然後嘗試編譯:javac HelloWorld.class
和運行。

1

檢查系統上安裝了哪些JVM。我與OpenJDK有同樣的問題。刪除它並安裝Oracle JDK後,問題消失了。您也可以在Project> Properties> Build> Execute Commands中指定正確的JDK路徑。例如,執行命令爲$ JAVA_HOME/bin/java「%e」。

0

我剛剛在Geany中遇到同樣的問題。我意識到我點擊了「Build」選項(在我的工具欄上它看起來像一個磚塊)而不是「編譯」(藍色多面體轉換爲紅色球體)。