Tomcat 启动 异常 java.lang.IllegalStateException: Unable to complete the scan for annotations...

原创 2015年07月06日 22:01:33

最近在使用tomcat 部署应用是遇到异常如下:


Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/xxxx] 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:2188)
at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2135)
at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:2010)
at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1976)
at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1961)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1319)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 10 more

分析原因:tomcat 启动扫描注解时抛出异常 StackOverflowError,扫描具体类为:

org.bouncycastle.asn1.ASN1EncodableVector->org.bouncycastle.asn1.DEREncodableVector->org.bouncycastle.asn1.ASN1EncodableVector

从以下方面检查错误:

1. 栈内存不足,修改tomcat启动参数,增加栈内存, 如:-Xss100m

2. 在你的应用中告诉tomcat不要扫描annotations, 修改web.xml 如下:

<web-app id="WebApp_ID" version="2.4" metadata-complete="true"
        xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">


3. 限制tomcat扫描jar 文件,参考:http://tomcat.apache.org/tomcat-7.0-doc/config/jar-scanner.html

4. 另外, 你可以创建一个war包,其中在WEB-INF\lib中包含第三方依赖的jar, 当启动tomcat时,如果发现错误信息类似如下:

Unable to complete the scan for annotations for web application [/xxxx] 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]

这个可能是第三方api的一个bug.可以到其官网下载最新版本看看是否修复。

相关文章推荐

Caused by: java.lang.IllegalStateException: Unable to find a single main class from问题解决

在之前的博客中写了一个测试配置问件的方法,那个项目是一个spring boot项目,当时是在一个Controller类里面.创建了main方法.然后直接run as java application ...

Tomcat启动报错:org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalin

报错详细信息: 七月 29, 2017 11:13:24 上午 org.apache.catalina.core.ContainerBase addChildInternal SEVERE: Cont...

java.lang.IllegalStateException: Failed to load ApplicationContext解决办法

springMVC 依赖无法注入的解决办法。 异常内容: java.lang.IllegalStateException: Failed to load ApplicationContext Cau...

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

tomcat7下,启动报如下错误:   2014-12-2 22:08:11 org.apache.catalina.core.AprLifecycleListener init 信息: The AP...
  • wzyzzu
  • wzyzzu
  • 2014年12月02日 14:29
  • 4798

Tomcat 7.0.3x 启动时遇到StackOverflowError导致失败的解决办法

Tomcat 7.0.3x 启动慢并且遇到StackOverflowError的异常的解决办法 之前使用tomcat7时遇到启动报错问题,日志如下: Nov 07, 2014 9:52:10 AM...

Tomcat 启动异常深度剖析

最近在使用tomcat 部署应用是遇到异常如下: Caused by: java.lang.IllegalStateException: Unable to complete the sc...
  • chndata
  • chndata
  • 2015年08月24日 10:53
  • 3361

工程依赖bouncycastle,Tomcat抛出异常 StackOverflowError

在使用tomcat 部署应用是遇到异常如下: Caused by: java.lang.IllegalStateException: Unable to complete the scan...

BouncyCastle的ASN.1编码功能探究

bouncycastle.jar是一种用于 Java 平台的开放源码的轻量级密码术包。它支持大量的密码术算法,并提供 JCE 1.2.1 的实现。本文利用bouncycastle类库来实现一个简单的a...

IText异常 NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable

原因在itext的maven依赖中可以发现,对于bcprov等两个库的依赖被标记为optional,所以需要根据itext版本,添加依赖 解决方法 根据itext版本,查看依赖库的版本 http:...

Unable to complete the scan for annotations for web application XXX due to a StackOverflowErr

之前使用tomcat7时遇到启动报错问题,日志如下: 严重: ContainerBase.addChild: start: org.apache.catalina.LifecycleExce...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tomcat 启动 异常 java.lang.IllegalStateException: Unable to complete the scan for annotations...
举报原因:
原因补充:

(最多只允许输入30个字)