ローマ依存とCobertura-Maven-Pluginによる「Mavenサイト」の目標のテストエラーを防ぐ

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

質問

Mavenベースのプロジェクトでは、JUnitテストの一部は失敗しますが、Mavenサイトビルド中にのみ。

を実行するとき
mvn clean package
.

すべてのテストが渡します。しかし、実行中:

mvn clean site
.

テストの一部はメッセージを生成します。
クラスorg.jdom2.input.sax.xmlReaders

を初期化できませんでした

これらのエラーは、ROMEを使用してRSSデータを解析するクラスで発生します。このプロジェクトはローマ(com.rometools:roome:1.5.0)に依存しています。それ自体はJDOM 2.0.2に依存しています。

ローマの依存関係がプロジェクトにまだ含まれていないときにエラーは発生しませんでした。

Mavenサイト構成には、Cobertura-Maven-Pluginが含まれています。これはJAXENを介してJAXENを介してJAMDEN:JAXEN:1.0 - > JAXEN:JAXEN:JAXEN:JAXEN:JAXEN:JAXEN:JAXEN:JAXEN:1.0 - >

サイト目標を実行している間、JDOM 1.0バージョンはテスト中のクラスによって使用され、誤ったJDOMバージョンが誤って使用されているため、ROMEライブラリのエラーが発生したと思います。

CoberturaプラグインでのみJDOM 1.0を使用するようにプロジェクトを設定する方法はわかりません。誰かがそれをする方法を知って、テストをサイト目標の間に成功させる方法を知っていますか?

役に立ちましたか?

解決

プログラムの起動時にシステム値を設定することで解決されました:

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

ソース: jdom2:このパーサーは仕様 "NULL" version "null"

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top