千家信息网

tomcat启动报错:Unable to complete the scan for annotations for web application的解决方法

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"tomcat启动报错:Unable to complete the scan for annotations for web application的解决方法",文中的讲解内容简单
千家信息网最后更新 2026年11月02日tomcat启动报错:Unable to complete the scan for annotations for web application的解决方法

这篇文章主要讲解了"tomcat启动报错:Unable to complete the scan for annotations for web application的解决方法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"tomcat启动报错:Unable to complete the scan for annotations for web application的解决方法"吧!

tomcat启动报错:

严重: A child container failed during startjava.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/gbp]]        at java.util.concurrent.FutureTask.report(FutureTask.java:122)        at java.util.concurrent.FutureTask.get(FutureTask.java:192)        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)        at java.util.concurrent.FutureTask.run(FutureTask.java:266)        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)        at java.lang.Thread.run(Thread.java:745)Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/gbp]]        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)        ... 6 moreCaused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/gbp] 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)        ... 6 more十月 28, 2019 9:13:41 上午 org.apache.catalina.core.ContainerBase startInternal严重: A child container failed during startjava.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]        at java.util.concurrent.FutureTask.report(FutureTask.java:122)        at java.util.concurrent.FutureTask.get(FutureTask.java:192)        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)

主要报错点:

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

在网上搜索了一下,很多说是修改catalina.properties的配置文件,但就算是解决了问题,也不是最好的办法。
这个问题的根本原因是jar包冲突,导致堆栈溢出。所以应该考虑的是如何解决jar依赖问题。

从org.bouncycastle.asn1.ASN1Boolean这个类入手。查看系统中·ASN1Boolean`出现在了两个包中:

org.bouncycastlebcprov-jdk16

和

org.bouncycastlebcprov-jdk15on

所以根据实际情况,去除一个即可。

感谢各位的阅读,以上就是"tomcat启动报错:Unable to complete the scan for annotations for web application的解决方法"的内容了,经过本文的学习后,相信大家对tomcat启动报错:Unable to complete the scan for annotations for web application的解决方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0