2015-08-29 20 views
1

我是Java新手。我寫了一個打印「Hello World」的簡單程序。我的程序編譯,但沒有運行,但給了我這個異常:在線程主java.lang.NoClassDefFoundError如何編譯和運行Java類(Hello World示例)

例外:你好錯名字:主你好

我的計劃是像這樣:

package main; 

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

我的程序位於:\ main \ Hello.java 我搜索得非常多,並以不同的方式進行編譯,但我不明白問題所在。誰能幫我?

enter image description here

+0

您是否嘗試過'Java的Hello.class'? –

+3

[在Windows中從命令行執行java程序失敗]的可能重複(http://stackoverflow.com/questions/12773979/executing-java-program-from-command-line-in-windows-fails) – Mifeet

+0

http:///www.thejavageek.com/2013/07/21/using-javac-and-java-commands-to-compile-and-launch-java-programs/ –

回答

0

你應該有Hello.javamain目錄按包定義。 所以做到以下幾點。

d:>mkdir main 
d:>move Hello.java main 
d:>javac main\Hello.java 
d:>java main.Hello 

哪打印Hello World。這是因爲javac默認會在.java文件旁邊輸出.class文件。

如果您不想要這種行爲或者您不想移動.java文件,那麼您還可以提及輸出類需要去的地方。

d:>javac -d . Hello.java 

這將創建Hello.classmain目錄自動按相關性中到當前目錄下的程序包定義。因此,

d:>java main.Hello 

這也將打印Hello World

您可以瞭解更多關於如何編譯Java源代碼here