로마 의존성과 cobertura-maven-plugin으로 'Maven 사이트'목표의 테스트 오류를 예방하십시오.

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

문제

Maven 기반 프로젝트의 일부 JUnit 테스트 중 일부는 실패하지만 Maven 사이트 빌드 중에 만.

를 실행할 때
mvn clean package
.

모든 테스트 패스. 그러나 실행 중 :

mvn clean site
.

일부 테스트 중 일부는 메시지를 생성합니다. 은 org.jdom2.input.sax.xmlReaders 클래스를 초기화 할 수 없습니다

이러한 오류는 로마를 사용하여 RSS 데이터를 구문 분석하는 클래스에서 발생합니다. 이를 위해이 프로젝트에는 Rome (com.rometools : rome : 1.5.0)에 대한 종속성이 있습니다. 이는 자체 자체 자체가 JDOM 2.0.2에 대한 종속성을 가지고 있습니다.

로마 의존성이 아직 프로젝트에 포함되지 않은 경우 오류가 발생하지 않았습니다.

Maven 사이트 구성에는 Cobertura-Maven-Plugin이 포함됩니다. 이것은 또한 JAXEN을 통해 JDOM에 의존합니다 : JAXEN : JAXEN : 1.0 -> JDOM : JDOM : 1.0

사이트 목표를 실행하는 동안 JDOM 1.0 버전은 테스트중인 클래스에서 클래스에서 사용하여 잘못된 JDOM 버전을 사용하므로 로마 라이브러리의 오류가 발생합니다.

CoberTura 플러그인에서만 JDOM 1.0을 사용할 프로젝트를 구성하는 방법을 모르겠습니다. 누구든지 사이트 목표에서 테스트가 성공적으로 실행되도록하는 방법을 알고 있습니까?

도움이 되었습니까?

해결책

프로그램 시작 중에 시스템 값을 설정하여 문제가 해결되었습니다.

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

출처 : JDOM2 :이 파서는 사양 "null"버전 "null"

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top