java運行顯示“找不到或無法加載主類”


1.由於是在運行階段出現的問題,那么可能是環境變量配置不當的問題,即可能是classpath路徑配置錯誤,而導致.class文件無法加載。

那么此時你可以檢查是否配置好classpath路徑,一般來說classpath路徑配置如下:

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; (注意前面的 . 以及 ; 缺一不可)

其中.表示當前路徑,;表示分隔符。

2.如果試過了很多次,classpath也配置對了,依舊出現這個錯誤,注意你使用的測試代碼,是否在某一個包名的下面;

比如說如下測試代碼:

在文件所在的當前目錄下,運行javac TestPlusPlus.java編譯成功,生成TestPlusPlus.class文件,

這個時候,你用java TestPlusPlus想運行程序,總會出現”找不到或無法加載主類“的錯誤。

這個時候要注意,之所以找不到,是因為TestPlusPlus在HelloWorld包名的下面。

解決辦法:

1.去掉 ”package HelloWorld;“ 重新用javac 編譯TestPlusPlus.java,再運行javaTestPlusPlus就可以了。

2.新建一個包名一樣的文件夾,在本例中,為建立一個HelloWorld的文件夾,把TestPlusPlus.java文件移到該目錄下。

然后在HelloWorld文件夾的平級下,打開DOS命令窗口,運行javacHelloWorld/TestPlusPlus.java編譯程序,

運行javaHelloWorld/TestPlusPlus(或者javaHelloWorld.TestPlusPlus也可以),則可以運行含有包名的java程序。

注意:包名不要含有'.'(點),' '(空格)等特殊符號,這樣的話命令行無法判斷包名與java程序名的分割點在哪里,

從而還是找到或者無法加載主類。

原理說明:

java程序運行class文件,對於有包名的類,java把包名當成文件夾處理,"包名+類名"相當於"文件夾目錄+類名"來尋找類。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM