Ich versuche, Projekt mit Submodulen zu bekommen, um Berichte zu testen und korrekt zu generieren, aber habe einige Probleme.Maven Reporting und Site-Generierung für mehrere Module Projekt
Ich habe die folgende Projektstruktur:
parent
|-test1
|-test2
und die pom.xml für parent
sieht wie folgt aus:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>parent</groupId>
<artifactId>parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>test1</module>
<module>test2</module>
</modules>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.16</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.3</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<configuration>
<aggregate>true</aggregate>
<reportsDirectories>
<reportsDirectory>${basedir}/target/surefire-reports</reportsDirectory>
</reportsDirectories>
</configuration>
<reportSets>
<reportSet>
<inherited>false</inherited>
<reports>
<report>report-only</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
Und ich mvn clean install site
das Projekt zu erstellen, führen Sie die Tests und generieren eine Website (die das maven site plugin verwendet, das wiederum maven todayfire report plugin verwendet, um einen Testbericht zu erstellen).
Das Problem ist die Mutter pom.xml ist mit allen Phasen (sauber, installieren und Website) ausgeführt, bevor Submodule pom.xml ausgeführt werden, damit kein Prüfbericht test1
und test2
werden in parent
aggregiert.
Also gibt es eine Möglichkeit, mvn clean install site
in einer einzigen Zeile auszuführen, oder muss ich unbedingt mvn clean install
zuerst dann mvn site
ausführen?
Vielen Dank für Anregungen.
Vielen Dank für Ihren Vorschlag über Aggregator, die eine gute Lösung für dieses Problem ist. Und Sie haben auch richtig vorhergesagt "alte Dateien existieren, so dass der Aggregator mit diesen Dateien arbeitet" :) – stackoverflower