原因:
1.java指令預設在尋找class檔案的位址是透過CLASSPATH環境變數中指定的目錄中尋找的。
2.我們忽略了package的影響。
解決過程:
第一個問題好解決:
我們直接在CLASSPATH環境變數中加入「.;」即可。 「.」的意思是搜尋目前目錄。
第二個問題看下面分析:
看下面兩個類別
#類別A和類別B的唯一差異就是沒有定義包名。
我們的工程路徑是D:\HelloWorld,在HelloWorld資料夾中建立src資料夾,類別B的原始碼檔案就放在src中。用javac編譯完以後
會在src資料夾中產生NewsManager.class,如下:
執行如下:
##把原始碼換成類別A: 為什麼加入了package後就不對了呢? 類別A中package的路徑是org.will.app.main。依照java規定,我們應該按照package定義的路徑來存放來源文件,類別A應該放入:src\org\will\app\main下,如下: #然後我們編譯執行: 仍然有問題,為什麼,其實大家再回去看看java的書就會發現,一個類別的全名應該是包名類別名。類別A的全名:org.will.app.main.NewsManager好的,再試試: 還是不對。為什麼? 仔細看上面的圖,我們在main目錄下讓java指令去執行org.will.app.main.NewsManager,其實它會以為類別的路徑是:#D:\ HelloWorld\src\org\will\app\main\org\will\app\main\NewsManager,大家看到了吧,路徑重複了。 所以,我們應該這樣執行: 成功! 推薦教學:以上是執行java程式提示找不到或無法載入主類的詳細內容。更多資訊請關注PHP中文網其他相關文章!