
Tomcat是常見的免費的web服務器,非常好用,但是經常會出現各種錯誤。
(Tomcat資源:
https://download.csdn.net/download/june_anlanruoshui/10826865)
運行Tomcat/bin/startup.bat時閃退,可以在startup.bat最後加入一句pause,使運行窗口不關閉,便於排錯(調試完成記得刪除)
一、 沒有正確定義JRE_HOME環境變量。
Error:the JRE_HOME environment variable is not defined correctly
如圖:

解決辦法:
重新檢查JDK配置。
配置方法:
找到「我的電腦」,右鍵打開屬性->高級系統設置->環境變量:

配置JAVA_HOME:

修改變量 Path ,在最前面加上 %JAVA_HOME%bin;
(這是win10如果是其他版本的加在Path前面即可)

(在命令行中運行java -version 檢查當前JDK是否配置成功)
二、無法創建Java虛擬機
出現如下錯誤:
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
錯誤:無法創建Java虛擬機。
錯誤:發生致命異常。程序將會退出。
解決辦法:
這個可能是 jdk 與 tomcat 版本不一致 導致的,可以嘗試升級tomcat版本,或者降低 /升級jdk版本。查找對應的版本再安裝嘗試一下。
(在命令行中運行java -version 可以檢查當前JDK的版本)

三、CATALINA_HOME,CATALINA_BASE的配置錯誤
出現如下錯誤:

解決辦法:
在環境變量中刪除CATALINA_HOME,CATALINA_BASE的配置(如果沒有在環境變量里配置過,那麼會自動採用bin目錄的父目錄)。
或者把CATALINA_HOME、CATALINA_BASE設置為正確的TOMCAT目錄。
環境參數正確會顯示如下圖:
(「D:tomcat」是我的tomcat文件路徑)

四:端口已被佔用
端口已被佔用(我簡單以80端口為例,請根據實際情況判斷)
Error:Address already in use: JVM_Bind :80
比如:如果你先單獨打開了tomcat,又試圖在eclipse或IDEA里啟動它,相當於是啟動兩次,當然端口會被佔用了。
解決辦法:
在運行中輸入cmd:
輸入:netstat -ano|findstr 「80」 查看 端口號包含”80″的佔用情況(如圖有三個端口同時開啟)

輸入:tasklist|findstr 「1828」 查找端口使用者(為java.exe)

輸入taskkill /f /t /im java.exe 終止對應進程
五、缺少APR
出現如下:
The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path:
出現這種情況是這表示沒有找到APR。
解決辦法:
去
http://tomcat.heanet.ie/native/ 下載編譯好的tcnative-1.dll文件拷貝至jdkbin下,再啟動就可以成功加載APR了。
(在我給的Tomcat資源裏面有:
https://download.csdn.net/download/june_anlanruoshui/10826865)
六:JDK不兼容
出現如下:
NOTE: Picked up JDK_JAVA_OPTIONS: –add-opens=java.base/java.lang=ALL-UNNAMED –add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
JDK不兼容:解決辦法同第二點,檢查tomcat和JDK版本
七、持久化異常
出現Exception loading sessions from persistent storage
該問題的原因是tomcat的session持久化機制引起的,在
%TOMCAT%/work/Catalina/localhost/session.ser 這個文件里,因為tomcat非正常關閉,所以這個文件沒有正確地結束(無EOF標記)
解決辦法:
1、只需要刪除 session.ser文件即可。
2、關閉tomcat的持久化功能,就能一勞永逸的解決這個問題。具體為修改conf下的server.xml文件。在項目的context間加入一句代碼
八、給tomcat指定特定的JDK
修改bin文件夾下面的setclasspath.bat文件
set 「JRE_HOME=%JAVA_HOME%」
修改為:
set 「JRE_HOME=E:Javajdk1.8.0.65」
(根據自己的JDK路徑修改)
九、修改端口:
打開…confserver.xml
修改「8080」處端口號(tomcat默認端口為8080)
十、利用tomcat部署:
將項目文件放入tomcatwebappsROOT
(此處簡單以test.html為例)

如出現404錯誤:請檢查文件是否存在/端口是否正確/環境變量是否無誤/Tomcat是否啟動/訪問資源和文件名是否正確……等

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/228076.html