ローマ依存とCobertura-Maven-Pluginによる「Mavenサイト」の目標のテストエラーを防ぐ
-
02-01-2020 - |
質問
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");
.
所属していません StackOverflow