啟動閃退問題解決集(八大類詳細)
本文目錄:
啟動時出現黑屏一閃而過的現象原因有很多,但通常都涉及幾個方法:
一、Java環境不對, 不同版本需要的Java環境不同。
有時版本能夠正常安裝,但啟動時檢測到java 版本不對就會出現啟動黑屏一閃而過的現象。例如: 10.1-M14版本能夠在java “1.8.0_131”下用命令提示符安裝成功,運行時卻出現啟動黑屏一閃而過的現象,查了很久都沒有發現原因,最近官方出了安裝提示才明白問題出在運行需要Java 11 或更高版本環境。
檢查Java版本是否適合安裝,按 + R 啟用cmd命令,打開命令提示符,輸入“java -”,回車,出現jdk版本,
如果不適合,請先安裝相應的Java版本。
當前Java SE Kit 最新版本是18.0.1.1
下載地址:Java - Java SE 18
或
Java SE Kit 18.0.1.1
二、環境變量沒有配置好
需要配置好JRE才能正常運行。一般情況下,啟動閃屏崩潰是因為找不到JRE路徑,也就是說環境變量在安裝JDK的時候沒有配置好。
檢查jdk是否安裝,按 + R 啟用cmd命令,打開命令提示符,進入命令提示符,輸入“java -”,回車,出現jdk版本,表示安裝成功,檢查版本是否合適,參考上文Java環境和版本對應關系。
檢測jdk配置有沒出錯,可以在安裝目錄\bin下,.bat文件最后加上pause命令
啟動運行,黑屏會需要按任意鍵才結束如圖:
如能如圖正常顯示Using路徑,說明環境變量設置沒有問題,可跳過此步驟。
如發現問題,可檢查相關環境變量配置
① 配置環境變量netstat端口號沒有進程,本機電腦—>屬性—>高級—>點擊環境變量
②在系統變量里點擊新建—>添加變量:
③ 輸入變量名,變量值:
變量名:
變量值:c:\00\
(變量值為安裝路徑,就是你剛剛解壓安裝的那個文件夾路徑)
④ 在系統變量里找到Path,雙擊打開:
新建環境變量,輸入:%%\bin
或在原來path列表中添加%%\lib;%%\bin
⑤打開cmd,選擇以管理員的身份運行:(鍵+R,輸入cmd,回車)
⑥進入安裝位置\bin目錄,輸入:,回車
⑦打開瀏覽器,輸入::8080/
(出現以下頁面,證明安裝配置成功。)
三、端口被占用
默認需要使用8080等幾個端口,如果端口被占用,啟動時就會崩潰,此時需要查找是哪個進程占用了8080端口。
其實還可以通過查看終端輸出日志,找到目錄下的logs目錄中當天的日志,例如:.2022-05-19.log文件,如果在日志出錯信息中看到: in use: bind說明是端口占用了。
在cmd中查看8080有沒有被占用,找出占用8080端口的進程
按 + R 啟用cmd命令,打開命令提示符,
輸入: -ano | “8080”
如果端口沒有被占用,就會顯示空值;
如果你修改過端口設置,請查找你的使用端口,例如,曾把端口修改成9080,此時查詢9080端口使用情況的命令為:
輸入: -ano | “9080”
顯示為9080端口被PID值為15316的進程所占用。
2接下來可以在任務管理器里查看該PID值進程號所對應的進程:
任務管理器菜單欄中的點擊【選項】——勾選” 【前端顯示】。
任務管理器菜單欄中的點擊-【查看】-【選擇列】中勾選“PID”
發現占用9080端口,PID值為15316的進程為java.exe
3、判斷該進程是否有用,如果沒有用,接著直接右鍵結束該進程即可。
或者,直接在命令提示框界面輸入要結束的PID值進程,例如:
要終止PID號為1196的進程,
可輸入:/PID 1196
如果該進程確實有用不能結束,那么可考慮更換使用的端口
打開:的安裝目錄\ conf \ .xml
找到下面這行代碼:
="20000"
="8443" />
將8080端口改為你所需要的端口地址,例如netstat端口號沒有進程,現在改為9080;
="20000"
="8443" />
4、在目錄\bin中找到“.bat”啟動
5、然后打開瀏覽器,輸入::9080,就可以發現正常啟動了。
除8080端口外還會占用8005,8009和8443端口。如果這4個端口已被占用,可以修改為使用其它端口。詳細見:端口配置(詳細)
四、配置文件編碼問題
啟動時會調用幾個相關配置文件,如果里面出現了不是UTF-8的字符,或者文件保存時的編碼格式不是UTF-8,編譯時就會出錯。就算是注釋行內也要仔細檢查。
出錯現象:
出現啟動時黑屏一閃而過的現象,查詢 log日志,發現有以下出錯信息:
at org.....main(.java:475)
30-May-2022 23:57:18.015 嚴重 [main] org.....start 無法啟動服務器,服務器實例未配置
30-May-2022 23:57:44.468 警告 [main] org..... 無法從[此處路徑省略\conf\.xml]加載服務器配置
....impl.io.: 1 字節的 UTF-8 序列的字節 1 無效。
分析:
查看相關的conf\.xml文件,發現是因為注釋了一些代碼,在代碼行里加入了中文說明,所以會出現無效UTF-8 序列字節
解決方法:
刪掉中文,改成英語或拼音注釋。將文件保存支持UTF-8的格式。
重啟后故障解決。
五、啟動時需要的配置文件編寫出錯
所有相關的配置文件都要仔細檢測,語法格式等出錯都會出現啟動后閃退的現象。例如是否按規范設置變量名,路徑設置時 \ 或 / 是否正確,注意路徑設置時后面不用多加“\” 或者 “;”........
有沒有和防火墻或其他app沖突。
如果內存配置有誤也會導致閃退(在文件里,內存配置有錯誤),解決辦法:找到配置內存的語句,刪除錯誤,重新配置。
六、部分相關文件丟失
因意外或其他原因, 或jdk的一些jar文件被打包成pack格式,造成 啟動缺jar包,報錯。
解決:修復jdk,補回jar
七、免安裝的閃退
免安裝的雙擊.bat后,啟動窗口一閃而過,而且服務未啟動。
原因:
在啟動是,需要讀取環境變量和配置信息,缺少了這些信息,就不能登記環境變量,導致了的閃退。
解決辦法:
1.在已解壓的的bin文件夾下找到.bat,右擊->編輯。在文件頭加入下面兩行:
SET =D:\Java\jdk1.6.0_10 (java jdk目錄)
SET =E:\-6.0.35 (解壓后的文件目錄)
2.同樣的。在已解壓的的bin文件夾下找到.bat,右擊->編輯。在文件頭加入下面兩行:
SET =D:\Java\jdk1.6.0_10 (java jdk目錄)
SET =E:\-6.0.35 (解壓后的文件目錄)
3.將你要發布/部署的web文件復制到的目錄下。
4.雙擊.bat即可啟動,成功啟動。
5.雙擊.bat即可停止。或者在已啟動的窗口中直接ctrl+c也可停止。
此部分為轉載,提供一種思路,有問題請聯系原作者