Evitar erros de teste em " mvn-site com o objetivo de ROMA, a dependência e a cobertura-maven-plugin

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

Pergunta

Em um Maven projeto com base em alguns dos testes JUnit falhar, mas apenas durante um Maven site de compilação.Quando a execução de

mvn clean package

passar em todos os testes.Mas ao executar:

mvn clean site

alguns dos testes de gerar a mensagem:
Não pôde inicializar a classe org.jdom2.entrada.sax.XMLReaders

Esses erros ocorrem em uma classe que usa ROMA para analisar os dados de RSS.Para isso, o projeto tem uma dependência em ROMA (com.rometools:roma:1.5.0), que em si tem uma dependência no JDOM 2.0.2.

Os erros não acontecem quando a ROMA dependência ainda não estava incluído no projeto.

O Maven site de configuração inclui a cobertura-maven-plugin.Este também tem uma dependência no JDOM, através de Jaxen:jaxen:jaxen:1.0 -> jdom:jdom:1.0

Eu acho que ao executar o site da gol o JDOM versão 1.0 é usado pela classe sob teste, fazendo com que os erros de ROMA de biblioteca porque ele usa o incorreto JDOM versão.

Eu não sei como configurar o projeto para usar JDOM 1.0 somente na Cobertura do plugin.Alguém sabe uma maneira de fazer isso e fazer os testes executados com êxito durante o objetivo do site?

Foi útil?

Solução

O problema foi resolvido pela definição de um valor de sistema durante o arranque do programa:

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

Fonte: JDOM2:Este analisador não suporta a especificação de "nulo" versão "null"

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top