Prevenire gli errori di prova in "MAVEN Sito" Gol con la dipendenza da Roma e Cobertura-Maven-Plugin

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

Domanda

In un progetto basato su Maven alcuni dei test di Junit falliscono, ma solo durante una build del sito di Maven. Quando si esegue

mvn clean package
.

Tutti i test passano. Ma quando si esegue l'esecuzione:

mvn clean site
.

Alcuni dei test generano il messaggio:
Impossibile inizializzare la classe Org.jdom2.input.sax.xmlReader

Questi errori si verificano in una classe che utilizza Roma per analizzare i dati RSS. Per questo il progetto ha una dipendenza da Roma (Com.Rotools: Roma: 1.5.0), che stessa ha una dipendenza da JDOM 2.0.2.

Gli errori non sono accaduti quando la dipendenza di Roma non è stata ancora inclusa nel progetto.

La configurazione del sito MAVEN include il Cobertura-Maven-Plugin. Questo ha anche una dipendenza da jdom, attraverso Jaxen: Jaxen: Jaxen: 1.0 -> JDOM: JDOM: 1.0

Penso che mentre esegui l'obiettivo del sito La versione JDOM 1.0 viene utilizzata dalla classe in Test, causando gli errori nella Biblioteca di Roma perché utilizza la versione JDOM errata.

Non so come configurare il progetto per utilizzare JDOM 1.0 solo nel plugin Cobertura. Qualcuno conosce un modo per farlo e far funzionare i test di successo durante l'obiettivo del sito?

È stato utile?

Soluzione

Il problema è stato risolto impostando un valore di sistema durante l'avvio del programma:

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

Fonte: jdom2: Questo parser non supporta la specifica "null" versione "null"

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top