- 環境: jdk 1.8.0.91 windows2003 tomcat8.0
- 故障現象:啟動tomcat 時, 一閃而過
- 排障步驟:
a) 首先是要調出錯誤信息:
i. 修改tomcat的bin目錄下的啟動文件startup.bat
原內容如下:
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
:end
修改后如下:
call "%EXECUTABLE%" run %CMD_LINE_ARGS%
:end
pause
保存后啟動tomcat
b) 得到如下錯誤信息:
24-Aug-2016 08:33:00.836 SEVERE [main] org.apache.tomcat.util.digester.Digester.
startElement Begin event threw exception
java.lang.ClassNotFoundException: org.apache.catalina.core.JasperListener
解決方法很簡單:
因為之前使用的tomcat7部署的, 現在升級到tomcat8. 但tomcat8的conf中的server.xml文件, 跟7中的略有不同. 只需要按照7中的端口號來更改8的server.xml文件即可
下面是tomcat自帶的server.xml部分
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
接下來是tomcat7的server.xml部分
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" /> 注釋這行
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
c)第二種故障Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/ca
talina/startup/Bootstrap : Unsupported major.minor version 51.0
JDK版本錯誤, 重新編譯或者使用低版本的tomcat
最后不要忘記把startup.bat更改回來