Sto sviluppando un'applicazione Spring MVC utilizzando STS (plug-in Eclipse) e Maven.Impossibile completare la scansione per le annotazioni per l'applicazione Web [/ app] a causa di StackOverflowError
Per la creazione del progetto, ho seguito il wizard STS per un nuovo "progetto Spring MVC". Successivamente, ho aggiunto alcune dipendenze ad altri progetti e librerie.
Tuttavia, quando ora sto provando a schierare il progetto al server vFabric integrato di STS, a volte ottengo un'eccezione:
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)
...
Quando l'emissione di un "esperto di puliti", seguito da un "esperto di installazione "e un riavvio del server, a volte l'eccezione non viene generata e l'applicazione funziona correttamente. Eppure, il più delle volte, non funziona.
Suppongo che non sia necessario eseguire la scansione delle dipendenze del bouncycastle per le annotazioni.
Posso in qualche modo disabilitare questa scansione per alcuni vasi?
Ho già provato ad aggiungere metadata-complete="true"
al mio web.xml e ad aumentare le dimensioni dello stack senza risultati.
Cosa posso fare per risolvere questo problema?
* Le possibili cause principali includono un'impostazione troppo bassa per le dipendenze da -Xss e da eredità ciclica illegale. * Suppongo che il messaggio ti abbia già risposto. –
Come detto: ho già aumentato le dimensioni dello stack. E non posso cambiare l'ereditarietà di alcune dipendenze esterne. Ho solo bisogno di un modo per escluderli dalla scansione. – Matthias
Dove hai aumentato le dimensioni dello stack? –