可能原因一:java類中沒有main方法。必須有下面的main方法執行入口才可以: public static void main(String[] args) { } 可能原因二:說明當前的路徑不是java文件存放路徑。解決辦法: 第一步:在cmd上通過cd進入相應java類路徑。如(cd D:Rem
當我們在編譯程序時,javac編譯成功,但是用java運行class文件出現“找不到或無法加載主類” 的問題。這時該怎么辦呢?
材料/工具
jdk
方法
在運行程序時最容易因為大意出錯的地方就是java后面加了“.class”后綴,原因是java后tab鍵是默認給加后綴的,所以建議最先檢查下,如果加了需要把“.class”刪除
可能原因一:java類中沒有main方法。必須有下面的main方法執行入口才可以: public static void main(String[] args) { } 可能原因二:說明當前的路徑不是java文件存放路徑。解決辦法: 第一步:在cmd上通過cd進入相應java類路徑。如(cd D:Rem
在設置環境變量時,在classpath的最前面要加一個本目錄路徑,用”.“表示,由于后面還有java的dt和tools兩個路徑,所以”.“要加”;“進行分隔表示
JAVA_HOME=C:Program FilesJavajdk1.8.0_40 PATH=%JAVA_HOME%bin; CLASSPATH=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar; -------------------------------- 其中:PATH屬于追加內容,添加到原先內容的最前面,分號隔開。 其他的
在cmd下運行javac 和java的時候,必須在該java文件的目錄下運行,這樣生成的class也在該目錄下,java的時候也會第一個就在本目錄下找class文件,就不會提示找不到了。這個cmd運行路徑由于一般不太注意,輸入cmd就會直接到c:個人文件夾下,而一般的java文件會用其它軟件編寫,放在選定的路徑下,這兩個路徑很少能主動重合,一運行當然找不到了,但是javac能認到,不知為什么java就提示找不到?這點有點奇怪。網上各種解決方法里很少注意到其實就是這個小問題造成的找不到類,都想當然的以為是在java源文件路徑下運行java,那當然就找不到基本問題所在了
HOME是 D:Javajdk1.8.0_11 Path是 %JAVA_HOME%bin;%JAVA_HOME%jrebin CLASSPATH是 .;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar 環境變量這樣配置,home里面的改成你自己的jdk安裝目錄,下面2個不用改,因為下面的兩個是根據home里面的來配置的
完成上面的步驟后,最后就可以成功的生成class文件了
請執行echo %path%;echo %classpath%,把結果截個圖看看
擴展閱讀,以下內容您可能還感興趣。
java運行顯示“找不到或無法加載主類”怎么回事?
第一,這個程序是沒e79fa5e98193e78988e69d8331333365636563有錯。
第二,你的類名是“Test”,但是你的java文件名就應該是“Test.java”。
第三,在運行里輸入cmd敲回車建進入一個控制臺的命令框,請輸入javac回車查看java有沒有
安裝好,如有問題有兩種肯能:一是根本就沒有安裝java程序或者安裝時沒有正確安好,
二是環境變量沒有配好。
第四,環境變量配置,變量名Path的值應該是:D:\Program Files\Java\jdk1.7.0\bin
把這個路徑放最好放到最前面用;號與其它隔開
變量名CLASSPATH的值是 .; 就這樣就可以(當然如果你要用到其它jar包就要配置)
變量名JAVA_HOME的值是 D:\Program Files\Java\jdk1.7.0
第五,編譯和運行程序,如果你的Test.java放在D盤根目錄下,在運行里輸入cmd敲回車建進
入一個控制臺的命令窗口,敲“D:”回車,輸入javac Test.java 回車,再輸入java Test 回車。就這樣搞定。
最后,我上次碰到一位朋友和你遇到同樣的問題,jdk版本和你用的一樣,但是我沒有用過1.7版本
后來是他加了我的QQ通過遠程連接我幫他弄好了,我發現他有這么幾個問題:1.存放java的文件夾名有中文(用中文也可以,不過個人認為最好還是用英文命名文件夾名稱)。2.他的path變量配置有多個java的路徑,而且沒有提前。也就是說:path:D:\Program Files\Java\jdk1.7.0\bin;這項放在最前面。3.因為1.7的版本我沒有用過所以我叫他換成了1.6的版本(如果你需要我可以發給你)
希望對你有幫助!
JAVA 錯誤: 找不到或無法加載主類
編譯好的class文件在 c:\users\Python\DeakTop下邊,當時你抄的dos根目知錄在c:\users\Python,所以程序找不到你的class文件,你先執行 cd DeakTop 回車道,在運行java HelloWorld
用cmd可以編譯java源程序,但是運行時卻提示錯誤:找不到或無法加載主類,這是什原因啊?
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_40
PATH=%JAVA_HOME%\bin;
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
--------------------------------
其中:PATH屬于追加內容專,添加到原先內容的最前面,分號隔屬開。
其他的都是新建內容。
java里可以運行,為什么cmd里不能?是不是命令出錯了?還是?? 顯示:“錯誤:找不到或無法加載主類。”
Java里可以運行,但是到了cmd里面還是需要javac hello.java
下一步才是java hello
試試看更多追問追答追問這個試過,沒有用。。。而且那個先 javac Hello.java ,不就是為了生成 .class文件嗎?追答那你先dir看看當前目錄有沒有hello.class這個文件追問有的追答是不是你這個cmd里面的java版本和你的編輯器里面的java版本不對啊,其實你在編輯器里面通過就已經可以說明編程是正確的了,不要介意追問還有這樣的操作?? 雖然我是裝過兩邊(當時是Java里也出現這樣的問題,沒法運行,才全刪了重裝,裝原來那個還是不行我才換了版本),但是原來那個我已經刪了啊,我好像記得第二次裝好jdk,沒有配置就可以用。但是這樣不是應該Java里也不能運行的嗎?。。那個我就是想試試在cmd里運行一下看看怎么操作的哈。。。。剛剛我解決了,謝謝你哈
java在CMD中出現“找不到或無法加載主類”
class前面加一個public
另外知你這個截圖不完全不知道輸入的對不對
參考示例:
public class Hello {public static void main(String[] args) {
System.out.println("Hello World!道");
}
}
運行效果:
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com