Verhindern Sie Testfehler in 'Maven-Site-Ziel mit Rom-Abhängigkeit und COBERTURA-MAVEN-Plugin
-
02-01-2020 - |
Frage
In einem maven-basierten Projekt fehlschlagen einige der Junit-Tests, jedoch nur während eines MAVEN-Site Builds. Bei der Ausführung von
generasacodicetagpre.Alle Tests bestehen. Aber wenn er ausführt:
generasacodicetagpre. Einige der Tests generieren die Nachricht:
konnte die Klasse org.jdom2.input.sax.xmlreadern nicht initialisieren
Diese Fehler treten in einer Klasse auf, die Rome verwendet, um RSS-Daten zu analysieren. Dazu hat das Projekt eine Abhängigkeit von Rom (com.Rometools: Rom: 1.5.0), die selbst eine Abhängigkeit von JDDOM 2.0.2 hat.
Die Fehler passierten nicht, wenn die Rom-Abhängigkeit noch nicht im Projekt enthalten war.
Die MAVEN-Site-Konfiguration umfasst das COBERTURA-MAVEN-Plugin. Dies hat auch eine Abhängigkeit von JDOM, durch Jaxen: Jaxen: Jax: 1.0 -> JDDOM: JDDOM: 1.0
Ich denke, dass beim Ausführen des Site-Ziels die JDVE 1.0-Version von der untersuchten Klasse verwendet wird, wodurch die Fehler in der Rom-Bibliothek verursacht wird, da er die falsche JDOM-Version verwendet.
Ich weiß nicht, wie das Projekt konfiguriert werden soll, um den JDOM 1.0 nur im COBERTURA-Plugin zu verwenden. Kennt jemand einen Weg, um das zu tun und die Tests während des Standortziels erfolgreich zu machen?
Lösung
Das Problem wurde gelöst, indem ein Systemwert während des Programmstarts eingestellt wurde:
generasacodicetagpre.Quelle: JDOM2: Dieser Parser unterstützt keine Spezifikation "NULL" -Version "null"
.