viernes, 2 de octubre de 2020

STAX2-API: Error en Eclipse + Tomcat: Caused by: java.lang.NoSuchMethodError: 'org.codehaus.stax2.ri.SingletonIterator org.codehaus.stax2.ri.SingletonIterator.create(java.lang.Object)'

Problema

 El Tomcat no arranca, y es consecuencia de que se han declarado mas de una version de "stax2-api".

Por tanto hay que entrar en el "pom.xml" y comentar las declaraciones duplicadas de dependencias de stax2-api de diferentes versiones.

Esta duplicidad se produce debido a que los test de clases básicas que contienen Hibernate Envers necesitan estas declaraciones en <scope>runtime</scope> para funcionar, mientras en modo web no funcionan. Ver stackoverflow. Y ver también post anterior.

Por tanto cuando se ejecuten los test en modo java application (y no en modo web) hay que descomentarlo

Solución 1

20/01/2022. Se puede solucionar lo de Hibernate Envers utilizando la nueva implementación de jakarta que no utiliza el stax2-api


implementation 'org.hibernate:hibernate-core-jakarta:5.6.3.Final'
implementation 'org.hibernate:hibernate-envers-jakarta:5.6.3.Final'
//implementation "org.hibernate:hibernate-testing-jakarta:5.6.3.Final'
implementation "org.hibernate:hibernate-validator:7.0.2.Final" 


Solución 2

Utilizar Maven shadow plugin o Gradle shadow plugin

No hay comentarios :

Publicar un comentario