2014-10-22 24 views
-1

我試着去執行一個簡單的Java代碼(我已經沒有問題,編譯它),但它給了我一個錯誤:錯誤的Java exectuing

C:\用戶\亞歷\桌面>的java HelloWorld.java 錯誤:無法找到或加載主類。

的代碼是下一個:

public class HelloWorld{ 

    public static void main(String[] args){ 

     System.out.println("Hello world!"); 

    } 
} 

-I已正確設置PATH變量。 - 我刪除了CLASSPATH變量。 - 我的桌面中有兩個文件(.java和.class)。

+0

你檢查你的命令提示符下鍵入'java'? – 2014-10-22 09:57:22

+0

@SanKrish是的,它確實有用。 – 2014-10-22 09:58:32

+0

編譯像'javac HelloWorld.java'並且應該像這樣執行'java HelloWorld' – 2014-10-22 09:59:46

回答

2

您在指定源文件的名稱。這不是您提供給java命令的內容 - 您指定類名稱

java HelloWorld 

這是假定HelloWorld.class在類路徑,這將默認爲「當前目錄」的地方。

如果您有包裝,例如

package foo; 

public class HelloWorld { 
    ... 
} 

那麼你會希望把HelloWorld.java在一個名爲foo目錄,編譯並運行從根目錄:

> javac foo\HelloWorld.java 
> java foo.HelloWorld 

注完全合格的類名怎麼現在foo.HelloWorld,不foo\HelloWorld

+0

哦,該死的,我很笨,謝謝,它現在工作了! :) – 2014-10-22 10:00:55

+0

這將意味着HelloWorld有一個包聲明,不是嗎? – 2014-10-22 10:01:10

+0

@AmanuelNega:那是什麼意思?問題中的代碼沒有包聲明,但是我已經展示了一個例子,它*有一個包聲明以避免問題。 – 2014-10-22 10:12:38

0

當您運行編譯的文件時,您應該只使用類名稱。編譯後的文件將具有.class的擴展名,但不應添加任何擴展名。只需使用類名即可。

變化

c:\Users\alejandro\Desktop> java HelloWorld.java 

c:\Users\alejandro\Desktop> java HelloWorld