9

マルチモジュールのmavenプロジェクトがあります。親 pom.xml は、4 つのサブプロジェクトの共通情報を参照するための単なる方法です。私はかなりの数の JUnit テストを実行しており、 maven-info-reports-pluginを使用して Project WebSite 用に親プロジェクトをセットアップしています。

親で構成されたmaven-surefire-report-pluginがあり、各サブプロジェクトに正しい情報を含む target/site/surefire-report.htmlファイルが生成されます。

私の問題は、site:run経由でプロジェクト Web サイトを実行すると、プロジェクト Web サイトにSurefire-report.htmlファイルが表示されないことです。表示されているのは親のターゲット ディレクトリにあり、単体テストは定義されていません。

サブプロジェクトで生成されたsurefireレポートを集約するためにmaven-surefire-report-pluginまたはmaven-info-reports-pluginを構成する方法はありますか?

4

3 に答える 3

33

Sephの答えを詳しく説明します。Maven レポートの多くは、結果を集計するように設定できます。これを Surefire-report プラグインで行うには、次のようにします。

<reporting>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-report-plugin</artifactId>
      <version>2.4.2</version>
      <configuration>
        <aggregate>true</aggregate>
        <!--also set this to link to generated source reports-->
        <linkXRef>true</linkXRef>
      </configuration>
    </plugin>
  </plugins>
</reporting>

追加の linkXRef プロパティに注意してください。これにより、 jxr プラグインによって生成されたソースの生成された html バージョンに相互参照を追加できます。jxr プラグインは集約するように設定することもできるため、2 つを組み合わせると、プロジェクト構造全体を参照できます。

私の知る限り、maven-info-reports-plugin は集計を行いません。

于 2009-08-14T06:24:26.453 に答える
2

あなたは付け加えられます

<aggregate>true</aggregate>

親pom.xmlのsurefireプラグインに。

于 2009-08-14T00:30:10.700 に答える
1

コマンドラインの場合

mvn surefire-report:report -Daggregate=true

かもしれない -

mvn clean test -fn surefire-report:report  -Daggregate=true
OR
mvn clean install -fn surefire-report:report  -Daggregate=true

注 : fn-> プロジェクトの結果に関係なく、ビルドは絶対に失敗しないでください

pomに追加するには

<aggregate>true</aggregate>
于 2019-04-17T11:24:31.383 に答える