tomcat7啟動報錯org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]

錯誤日志如下:

Aug 02, 2017 3:07:18 PM org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
INFO: validateJarFile(/usr/local/tomcat_8080/webapps/ROOT/WEB-INF/lib/javaee-api-7.0.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
Aug 02, 2017 3:07:18 PM org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
INFO: validateJarFile(/usr/local/tomcat_8080/webapps/ROOT/WEB-INF/lib/tomcat-el-api-8.0.9.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/el/Expression.class
Aug 02, 2017 3:07:23 PM org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1095)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1957)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [] due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was [org.bouncycastle.asn1.ASN1EncodableVector->org.bouncycastle.asn1.DEREncodableVector->org.bouncycastle.asn1.ASN1EncodableVector]
    at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:2159)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2105)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1980)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1946)
    at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1931)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1330)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:889)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:386)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5479)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 10 more

Aug 02, 2017 3:07:23 PM org.apache.catalina.startup.HostConfig deployWAR
SEVERE: Error deploying web application archive /usr/local/tomcat_8080/webapps/ROOT.war
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:905)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1095)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1957)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Aug 02, 2017 3:07:23 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive /usr/local/tomcat_8080/webapps/ROOT.war has finished in 6,029 ms
Aug 02, 2017 3:07:23 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Aug 02, 2017 3:07:23 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Aug 02, 2017 3:07:23 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 6220 ms

又看到錯誤信息

INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/i386:/lib:/usr/lib

Tomcat有三種運行模式:bio、nio、apr,不同模式下Tomcat的運行效率差別比較大
一、bio(blockingIO)

阻塞式IO,Tomcat6及以前版本默認運行模式,性能非常低下,沒有經(jīng)過任何優(yōu)化處理。
二、nio(noblocking IO)

三、apr(Apache Portable Runtime)
從操作系統(tǒng)(http://lib.csdn.net/base/operatingsystem)級別來解決異步的IO問題,大幅度的提高性能。
必須要安裝apr和native,直接啟動就支持apr。
安裝apr
apr需要APR庫和OpenSSL相關庫。
yum install apr-devel openssl-devel

安裝apr組件:

tar zxvf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure --prefix=/usr/local/apr
make && make install

安裝native
進入Tomcat的bin目錄,比如:/usr/local/tomcat8/bin
解壓native源碼包

tar -zxvf tomcat-native.tar.gz  
cd tomcat-native-1.1.32-src/jni/native  
./configure--with-apr=/usr/bin/apr-1-config--with-java-home="jdk路徑" --with-ssl=yes  
make && make install

加載apr的環(huán)境變量,使tomcat加載Tomcat Native組件:
vi /etc/profile
添加如下內容:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
加載環(huán)境變量,使其立即生效
source /etc/profile

將tomcat的server.xml配置文件里的SSLEngine設置為off

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容