首頁 >Java >Java基礎 >執行java程式提示找不到或無法載入主類

執行java程式提示找不到或無法載入主類

王林
王林原創
2019-11-16 14:31:423500瀏覽

執行java程式提示找不到或無法載入主類

原因:

1.java指令預設在尋找class檔案的位址是透過CLASSPATH環境變數中指定的目錄中尋找的。

2.我們忽略了package的影響。

解決過程:

第一個問題好解決:

我們直接在CLASSPATH環境變數中加入「.;」即可。 「.」的意思是搜尋目前目錄。

第二個問題看下面分析:

看下面兩個類別

執行java程式提示找不到或無法載入主類

#類別A和類別B的唯一差異就是沒有定義包名。

我們的工程路徑是D:\HelloWorld,在HelloWorld資料夾中建立src資料夾,類別B的原始碼檔案就放在src中。用javac編譯完以後

會在src資料夾中產生NewsManager.class,如下:

執行java程式提示找不到或無法載入主類

執行如下:

執行java程式提示找不到或無法載入主類

##把原始碼換成類別A:

執行java程式提示找不到或無法載入主類

為什麼加入了package後就不對了呢?

類別A中package的路徑是org.will.app.main。依照java規定,我們應該按照package定義的路徑來存放來源文件,類別A應該放入:

src\org\will\app\main下,如下:

執行java程式提示找不到或無法載入主類

#然後我們編譯執行:

執行java程式提示找不到或無法載入主類

仍然有問題,為什麼,其實大家再回去看看java的書就會發現,一個類別的全名應該是包名類別名。類別A的全名:org.will.app.main.NewsManager

好的,再試試:

執行java程式提示找不到或無法載入主類

還是不對。為什麼?

仔細看上面的圖,我們在main目錄下讓java指令去執行org.will.app.main.NewsManager,其實它會以為類別的路徑是:

#D:\ HelloWorld\src\org\will\app\main\org\will\app\main\NewsManager,大家看到了吧,路徑重複了。

所以,我們應該這樣執行:

執行java程式提示找不到或無法載入主類

成功!

推薦教學:

Java教學

以上是執行java程式提示找不到或無法載入主類的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn