【发布时间】:2026-02-10 18:55:01
【问题描述】:
我正在使用 STS(eclipse 插件)和 maven 开发 Spring MVC 应用程序。
为了创建项目,我按照 STS 向导创建了一个新的“Spring MVC 项目”。之后,我在其他项目和库中添加了一些依赖项。
但是,当我现在尝试将项目部署到 STS 的集成 vFabric 服务器时,有时会出现异常:
SEVERE: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/wsa]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
...
Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/app] due to a *Error. 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:2179)
...
当发出“maven clean”,然后是“maven install”并重新启动服务器时,有时不会抛出异常并且应用程序工作正常。然而,大多数时候,它不起作用。
我想没有必要为注解扫描 bouncycastle 依赖项。
我可以以某种方式禁用对某些罐子的扫描吗?
我已经尝试将 metadata-complete="true" 添加到我的 web.xml 并增加堆栈大小但没有结果。
我能做些什么来解决这个问题?
【问题讨论】:
-
可能的根本原因包括 -Xss 设置太低和非法循环继承依赖项。 我猜该消息已经回答了你。
-
如前所述:我已经增加了堆栈大小。而且我不能改变一些外部依赖的继承。我只是需要一些方法将它们排除在扫描之外。
-
你在哪里提高了堆栈大小?
-
在“Arguments - VM arguments”下我的服务器项目的“运行配置”设置中,我设置了“-Xss4m”(之前是Xss768k左右)。
标签: java eclipse spring maven spring-mvc