java突然無法載入主類
Ⅰ java 找不到或無法載入主類
默認安裝在C:\ProgramFiles\Java\jdk1.7.0目錄下
環境變數配置為
PATH=.;%JAVA_HOME%\bin
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar;
JAVA_HOME=C:\Program Files\Java\jdk1.7.0
在把jdk安裝到計算機中之後,我們來進行設置使java環境能夠使用。 首先右鍵點我的電腦。打開屬性。
然後選擇「高級」裡面的「環境變數」,在新的打開界面中的系統變數需要設置三個屬性「JAVA_HOME」
、「path」、「classpath」,其中在沒安裝過jdk的環境下。path屬性是可能存在的(安裝過其它軟體可能
會自動增加,如暴風影音,)。而JAVA_HOME和classpath是不存在的。
一:點「新建」,然後在變數名寫上JAVA_HOME,顧名其意該變數的含義就是java的安裝路徑,呵呵,然
後在變數值寫入剛才安裝的路徑「C:\ProgramFiles\Java\jdk1.7.0」。
二:其次在系統變數裡面找到path,沒有就新建,然後點編輯,path變數的含義就是系統在任何路徑下都
可以識別java命令,則變數值為「.;%JAVA_HOME%\bin;」,(其中「%JAVA_HOME%」的意思為剛才設置
JAVA_HOME的值),也可以直接寫上「C:\Program Files\Java\jdk1.7.0\bin;」
三: 最後再點「新建」,然後在變數名上寫classpath,該變數的含義是為java載入類(class or lib)路
徑,只有類在classpath中,java命令才能識別。其值為「.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar;(要加.表示當前路徑)」,與相同「%JAVA_HOME%有相同意思」
以上三個變數設置完畢,則按「確定」直至屬性窗口消失,下來是驗證看看安裝是否成功。先打開「開始
」-> 「運行」,打入「cmd」,進入dos系統界面。然後打「java -version」,如果安裝成功。系統會顯示java version jdk"1.7.0"。
確保安裝在C:\ProgramFiles\Java\jdk1.7.0,環境變數直接復制就可以了,在dos界面中輸入javac來查
看該命令是否合法,同樣輸入java來查看該命令是否合法
這樣環境變數就設置好了,下面進行對PATH,CLASSPTH,JAVA_HOME的講解
以下為置JAVA_HOME,CLASSPATH,PATH的目的:
1,設置JAVA_HOME:
一、為了方便引用,比如,你JDK安裝在C:\Program Files\Java\jdk1.7.0目錄里,則設置JAVA_HOME為該
目錄路徑, 那麼以後你要使用這個路徑的時候, 只需輸入%JAVA_HOME%即可, 避免每次引用都輸入很長的
路徑串;
二、歸一原則, 當你JDK路徑被迫改變的時候, 你僅需更改JAVA_HOME的變數值即可, 否則,你就要更改任
何用絕對路徑引用JDK目錄的文檔, 要是萬一你沒有改全, 某個程序找不到JDK, 後果是可想而知的----系統崩潰!
三、第三方軟體會引用約定好的JAVA_HOME變數, 不然, 你將不能正常使用該軟體, 以後用JAVA久了就會知道, 要是某個軟體不能正常使用, 不妨想想是不是這個問題.
2,設置CLASSPATH:
這是一個很有趣,當然也比較折磨初學者的問題, 這個變數設置的目的是為了程序能找到相應的".class"文件, 不妨舉個例子: 你編譯一個JAVA程序---A.java, 會得到一個A.class的類文件,你在當前目錄下執行java A, 將會得到相應的結果(前提是你已經設置CLASSPATH為"."). 現在, 你把A.class移到別的目錄下(例如:"e:\"), 執行java A, 將會有NoClassDefFindError的異常,原因就是找不到.class文件, 現在你把CLASSPATH增加為:".;e:\"再在任何目錄下運行java A, 看看會有什麼結果~~:)~~~, 一切正常, java命令通過CLASSPATH找到了.class文件!
3,設置PATH:
道理很簡單, 你想在任何時候都使用%JAVA_HOME%\bin\java 等來執行java命令嗎, 當然不會, 於是, 你
可以選擇把%JAVA_HOME%\bin添加到PATH路徑下, 這樣, 我們在任何路徑下就可以僅用java來執行命令了
.(當你在命令提示符窗口輸入你個代碼時,操作系統會在當前目錄和PATH變數目錄里查找相應的應用程序,
並且執行.)
現在都配置完了 ,可以檢測一下:
按下「WIN」(在Ctrl和Alt之間)+「R」,輸入cmd,回車。
分別輸入java,javac,java -version,如果正確配置了環境變數,則分別回出現下圖內容。
輸入「java」後回車:
注:CLASSPATH值的最後沒;(分號)會出現以下錯誤
錯誤:找不到或無法載入主類HelloWorld。
java HelloWorld時,字母大小寫搞錯也出錯
Ⅱ java運行顯示「找不到或無法載入主類」!
我們的工程路徑是D:HelloWorld,在HelloWorld文件夾中建立一個src文件夾,類B的源代碼文件就放在src中。用javac編譯完以後會在src文件夾中生成NewsManager.class,如下:
Ⅲ java中無法載入或找不到主類
//這個問題原因有以下幾種,但是和環境變數並沒有太大的關系
//能夠執行java和javac就證明你的環境變數已經配置好了,其實classpath可以不配置
//假如有如下文件:H:codeHello.java
publicclassHello{
publicstaticvoidmain(String[]args){
System.out.println("Hello");
}
}
//正確編譯命令:javacHello.java
//正確<ahref="https://www..com/s?wd=%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-"target="_blank"class="-highlight">運行命令</a>:javaHello
錯誤1:H:code>javaHello.java
錯誤:找不到或無法載入主類Hello.java
原因:命令錯誤
錯誤2:H:code>javaHello.class
錯誤:找不到或無法載入主類Hello.class
原因:命令錯誤
錯誤3:java源文件帶有包名,往往容易出錯
如:H:codeHello2.java
packagecom.example;
publicclassHello2{
publicstaticvoidmain(String[]args){
System.out.println("Hello2");
}
}
這代碼看上去沒什麼問題,執行:
H:code>javacHello2.java
H:code>javaHello2
錯誤:找不到或無法載入主類Hello2
解決辦法:
+.刪除包名或者
+.在code下創建一個與包名相同的文件結構(H:codecomexampleHello2.java)
編譯:H:code>javaccom/example/Hello2.java
運行:H:code>javacom.example.Hello2
Ⅳ Java 錯誤:找不到或無法載入主類
找不到主類是因為classpath配置錯誤。
是環境變數的問題,看看你的path和classpath是否是正確的,最可能的錯誤是classpath中少了前面少了.;
classpath的配置必須遵循以下規則:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
Ⅳ java運行顯示「找不到或無法載入主類」
樓主CLASSPATH環境變數設置有問題。應該設置成當前目錄加bin目錄如下:.;\%JAVA_HOME%bin
注意那個點和分號,樓主肯定是少了當前目錄,就是那個點。
Ⅵ java中碰到無法載入主類怎麼辦
檢查環境變數配置:
JAVA_HOME:D:\Java\jdk1.8.0_91
CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(前面有英文點號)
Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
設置沒問題。java -version測試,顯示JDK版本正常;
我很確定自己的JDK設置沒問題,在Eclipse下JAVA文件執行正常,但顯示 錯誤: 找不到或無法載入主類 j2se001.HelloWorld 真的好無奈。
1.網上說要把jdk環境變數設置到用戶變數,而不是用戶變數;設置後無效,都重啟過電腦,沒毛用;
2.此帖子給幫了大忙:http://bbs.csdn.net/topics/391862656?page=1
主要觀點就是:JDK編譯正常,那麼JAVA_HOME配置正確。如果這樣的話,那你的HelloWorld類的放的實際位置,package設置的和類路徑的設置不匹配,執行器找不到類文件;說白了就是編譯後的class文件的路徑問題。
兩種解決辦法:
1.把package語句去掉,讓編譯文件處於當前文件夾
例如我將java文件的package去掉,放在D盤根目錄
2.不去掉package,在java文件同級目錄加一個package相同名稱的文件夾;
HelloWorld.java在src的j2se001文件夾下,j2se001下建一個同package名稱的文件夾
或者下面這種,與上面實質是一樣的,只是在哪個目錄執行java類文件(還是在java類文件同級目錄建一個同package名稱相同的文件夾);
刪package或者加package同名folder的實質:執行器指向package文件夾
【簡介】:
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點 。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等
望採納,謝謝!
Ⅶ java 錯誤: 找不到或無法載入主類 test.HelloWorld
兩種解決辦法:
1.把package語句去掉,讓編譯文件處於當前文件夾
例如我將java文件的package去掉,放在F盤根目錄
2.不去掉package,在java文件同級目錄加一個package相同名稱的文件夾;
HelloWorld.java在src的j2se001文件夾下,j2se001下建一個同package名稱的文件夾
或者下面這種,與上面實質是一樣的,只是在哪個目錄執行java類文件(還是在java類文件同級目錄建一個同package名稱相同的文件夾);
刪package或者加package同名folder的實質:執行器指向package文件夾
Ⅷ java無法找到或載入主類是怎麼回事
java無法找到或者載入主類主要是因為路徑錯誤。
1、在classpath的最前面要加一個本目錄路徑,用.表示,由於後面還有java的dt和tools兩個路徑,所以.後要加;進行分隔表示。
2、在cmd下運行javac 和java的時候,必須在該java文件的目錄下運行,這樣生成的class也在該目錄下,java的時候也會第一個就在本目錄下找class文件,就不 會提示找不到了。這個cmd運行路徑由於一般不太注意,輸入cmd就會直接到c:\個人文件夾下,而一般的java文件會用其它軟體編寫,放在選定的路徑 下,這兩個路徑很少能主動重合,一運行當然找不到了
Ⅸ 我的世界開服JAVA找不到或無法載入主類
指令輸入路徑的文件夾名字中不能帶空格,像是C:\Program Files 中間的空格,windows會認為這個文件在C:\Program這個文件夾中而不是C:\Program FIles這個文件夾中
建議先用cd命令定位到包含服務端的文件夾,然後再使用 java -jar 服務端名稱 運行伺服器
Ⅹ java程序報找不到或無法載入主類
從錯誤描述和圖中可以看出,Java編譯器沒有找到HelloWorld類。通過命令運行Java編譯器時,當前目錄一定要切換到HelloWorld類所在的目錄。運行Java程序時,也要切換到class文件所在的目錄,Java命令後面的程序文件名稱不要帶文件擴展名class。
從圖中看出,你的HelloWorld類在D盤Java目錄下,具體操作如下:
在Windows命令行窗口輸入「d:」命令,並按下回車鍵(Enter),當前工作目錄被設置為D盤,繼續輸入「cdjava」命令,並按下回車鍵(Enter),當前工作目錄被設置為「d:/java」目錄,如下圖所示:
在當前工作目錄下輸入「javaHelloWorld」命令,並按下回車鍵(Enter),屏幕顯示「HelloWorld」語句。輸入命令時,注意大小寫以及「java」與「HelloWorld」之間的空格。