Предотвратить тестовые ошибки в цели «Maven Site» с зависимостью ROME и Cobertura-Maven-Plugin

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

Вопрос

В проекте на основе Maven некоторые из тестов JUnit не удаются, но только во время сборки сайта Maven. При выполнении

mvn clean package
.

Все тесты проходят. Но при выполнении:

mvn clean site
.

Некоторые из тестов генерируют сообщение:

не удалось инициализировать класс org.jdom2.input.sax.xmlreaders

Эти ошибки возникают в классе, который использует Rome для анализа данных RSS. Для этого проект имеет зависимость от Рима (Com.Rometools: Rome: 1.5.0), который сам имеет зависимость от JDY 2.0.2.

Ошибки не произошли, когда rome зависимость еще не включена в проект.

Конфигурация сайта Maven включает в себя плагин Cobertura-Maven. Это также имеет зависимость от JDY, через Jaxen: Jaxen: Jaxen: 1.0 -> JDOR: JDE: 1.0

Я думаю, что при выполнении цели сайта версия JDY 1.0 используется в разделе «Класс», в результате чего ошибки в библиотеке Рима, поскольку она использует неправильную версию JDY.

Я не знаю, как настроить проект для использования JDY 1.0 только в плагине Cobertura. Кто-нибудь знает способ сделать это и сделать тесты успешными во время цели сайта?

Это было полезно?

Решение

Проблема была решена путем установки системы системы во время запуска программы:

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

Источник: jdom2: Этот парсер не поддерживает спецификацию «NULL» версия «NULL»

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top