tomcat启动报错:Unable to complete the scan for annotations for web application [] due to a StackOverflow

约定不等于承诺〃 2022-05-23 07:04 360阅读 0赞

欢迎关注本人公众号

在这里插入图片描述
关键报错信息:

  1. Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [] due to a StackOverflowError. Possible
  2. root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was
  3. [org.bouncycastle.asn1.ASN1Boolean->org.bouncycastle.asn1.DERBoolean->org.bouncycastle.asn1.ASN1Boolean]

具体报错信息如下:

  1. INFO: Starting Servlet Engine: Apache Tomcat/7.0.52
  2. Jun 04, 2018 3:17:54 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
  3. INFO: validateJarFile(/home/ewallet/star-jupiter/star-jupiter-pre/default/webroot/WEB-INF/lib/tomcat-embed-el-8.5.14.jar) - jar not loaded. See Servlet
  4. Spec 3.0, section 10.7.2. Offending class: javax/el/Expression.class
  5. Jun 04, 2018 3:17:55 PM org.apache.catalina.core.ContainerBase startInternal
  6. SEVERE: A child container failed during start
  7. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
  8. at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  9. at java.util.concurrent.FutureTask.get(FutureTask.java:192)
  10. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
  11. at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:799)
  12. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  13. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
  14. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
  15. at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  16. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  17. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  18. at java.lang.Thread.run(Thread.java:745)
  19. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
  20. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
  21. ... 6 more
  22. Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [] due to a StackOverflowError. Possible
  23. root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was
  24. [org.bouncycastle.asn1.ASN1Boolean->org.bouncycastle.asn1.DERBoolean->org.bouncycastle.asn1.ASN1Boolean]
  25. at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:2109)
  26. at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2056)
  27. at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1931)
  28. at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1897)
  29. at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1882)
  30. at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1314)
  31. at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:873)
  32. at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:371)
  33. at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
  34. at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
  35. at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5355)
  36. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  37. ... 6 more
  38. Jun 04, 2018 3:17:55 PM org.apache.catalina.core.ContainerBase startInternal
  39. SEVERE: A child container failed during start
  40. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
  41. at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  42. at java.util.concurrent.FutureTask.get(FutureTask.java:192)
  43. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
  44. at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
  45. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  46. at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
  47. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  48. at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:731)
  49. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  50. at org.apache.catalina.startup.Catalina.start(Catalina.java:689)
  51. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  52. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  53. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  54. at java.lang.reflect.Method.invoke(Method.java:498)
  55. at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)
  56. at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
  57. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
  58. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
  59. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
  60. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
  61. at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  62. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  63. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  64. at java.lang.Thread.run(Thread.java:745)
  65. Caused by: org.apache.catalina.LifecycleException: A child container failed during start
  66. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
  67. at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:799)
  68. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  69. ... 6 more
  70. Jun 04, 2018 3:17:55 PM org.apache.catalina.startup.Catalina start
  71. SEVERE: The required Server component failed to start so Tomcat is unable to start.
  72. org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8281]]
  73. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
  74. at org.apache.catalina.startup.Catalina.start(Catalina.java:689)
  75. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  76. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  77. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  78. at java.lang.reflect.Method.invoke(Method.java:498)
  79. at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)
  80. at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
  81. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
  82. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
  83. at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:731)
  84. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  85. ... 7 more
  86. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
  87. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
  88. at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
  89. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  90. ... 9 more
  91. Caused by: org.apache.catalina.LifecycleException: A child container failed during start
  92. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
  93. at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
  94. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  95. ... 11 more

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

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

  1. <groupId>org.bouncycastle</groupId>
  2. <artifactId>bcprov-jdk16</artifactId>

  1. <groupId>org.bouncycastle</groupId>
  2. <artifactId>bcprov-jdk15on</artifactId>

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

发表评论

表情:
评论列表 (有 0 条评论,360人围观)

还没有评论,来说两句吧...

相关阅读