Unable to complete the scan for annotations for web application [] due to a StackOverflowError

来源:互联网 发布:如果淘宝卖假货怎么办 编辑:程序博客网 时间:2024/05/01 06:32

tomcat7下,启动报如下错误:

2014-12-2 22:08:11 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/jdk1.6.0_20/jre/lib/amd64/server:/usr/java/jdk1.6.0_20/jre/lib/amd64:/usr/java/jdk1.6.0_20/jre/../lib/amd64:/usr/lib:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2014-12-2 22:08:11 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-bio-80"]
2014-12-2 22:08:11 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-bio-8009"]
2014-12-2 22:08:11 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 444 ms
2014-12-2 22:08:11 org.apache.catalina.core.StandardService startInternal
信息: Starting service Catalina
2014-12-2 22:08:11 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.55
2014-12-2 22:08:11 org.apache.catalina.startup.HostConfig deployWAR
信息: Deploying web application archive /root/tomcat7055/webapps/ROOT.war
2014-12-2 22:08:12 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(/root/tomcat7055/webapps/ROOT/WEB-INF/lib/avro-tools-1.7.5.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
2014-12-2 22:08:12 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(/root/tomcat7055/webapps/ROOT/WEB-INF/lib/servlet-api.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
2014-12-2 22:08:12 org.apache.catalina.core.ContainerBase addChildInternal
严重: 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:649)
 at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083)
 at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:619)
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:2112)
 at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2059)
 at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1934)
 at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1900)
 at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1885)
 at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1317)
 at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:876)
 at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:374)
 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:5378)
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
 ... 11 more
2014-12-2 22:08:12 org.apache.catalina.startup.HostConfig deployWAR
严重: Error deploying web application archive /root/tomcat7055/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:904)
 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
 at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1083)
 at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1880)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:619)
2014-12-2 22:08:12 org.apache.catalina.startup.HostConfig deployWAR
信息: Deployment of web application archive /root/tomcat7055/webapps/ROOT.war has finished in 826 ms
2014-12-2 22:08:12 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-bio-80"]
2014-12-2 22:08:12 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-bio-8009"]
2014-12-2 22:08:12 org.apache.catalina.startup.Catalina start
信息: Server startup in 863 ms

红色部分为报错的根本原因:是jvm的栈溢出问题;而导致栈溢出的根本原因是由于蓝色部分显示的jar包冲突,这种情况是有两个jar都含有上述相同的类名,且继承关系刚好相反,故造成tomcat启动的环问题。

解决方案:

搜索出含有上面蓝色部分的类(即ASN1EncodableVector)的jar包,应该有两个jar含有此类,去掉其中一个jar即可。

 

导致此种问题的详细说明,见http://blog.csdn.net/wzyzzu/article/details/41679445

 

 

1 0
原创粉丝点击