Evitar errores de prueba en el objetivo de 'sitio de Maven' con la dependencia de Roma y Cobertura-Maven-Plugin

StackOverflow https://stackoverflow.com//questions/25088682

Pregunta

En un proyecto basado en Maven, algunas de las pruebas JUnit fallan, pero solo durante una construcción de sitios Maven. Al ejecutar

mvn clean package

TODAS LAS PRUEBAS PASE. Pero al ejecutar:

mvn clean site

Algunas de las pruebas generan el mensaje:

no pudo inicializar la clase org.jdom2.input.sax.xmlReders

Estos errores se producen en una clase que utiliza Roma para analizar los datos RSS. Para esto, el proyecto tiene una dependencia de Roma (com.Rometools: Roma: 1.5.0), que en sí misma tiene una dependencia de la JORDA 2.0.2.

Los errores no sucedieron cuando la dependencia de Roma aún no estaba incluida en el proyecto.

La configuración del sitio Maven incluye el plugin Cobertura-Maven. Esto también tiene una dependencia de la JAGER, A TRAVÉS DE JAXEN: JAXEN: JAXEN: 1.0 -> JORM: JDOM: 1.0

Creo que al ejecutar el objetivo del sitio, la clase de JIGR 1.0 es utilizada por la clase bajo prueba, lo que provoca los errores en la biblioteca de Roma porque utiliza la versión de jamón incorrecta.

No sé cómo configurar el proyecto para usar JDOR 1.0 solo en el complemento Cobertura. ¿Alguien sabe una manera de hacer eso y hacer que las pruebas se realicen correctamente durante el objetivo del sitio?

¿Fue útil?

Solución

El problema se resolvió estableciendo un valor del sistema durante el inicio del programa:

System.setProperty("javax.xml.parsers.SAXParserFactory",
    "com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl");

Fuente: jdom2: este analizador no admite la versión "null" de la versión "null"

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top