STS (Eclipse プラグイン) と Maven を使用して Spring MVC アプリケーションを開発しています。
プロジェクトを作成するために、新しい「Spring MVC プロジェクト」の STS ウィザードに従いました。その後、他のプロジェクトやライブラリにいくつかの依存関係を追加しました。
ただし、プロジェクトを 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 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:2179)
...
「maven clean」を発行してから「maven install」を実行し、サーバーを再起動すると、例外がスローされず、アプリケーションが正常に動作することがあります。しかし、ほとんどの場合、うまくいきません。
注釈のために bouncycastle の依存関係をスキャンする必要はないと思います。
一部の jar に対してこのスキャンを何らかの形で無効にすることはできますか?
私はすでにmetadata-complete="true"
web.xml に追加してスタックサイズを増やしてみましたが、結果はありませんでした。
これを修正するにはどうすればよいですか?