Das Javadoc -Plugin von Maven 3 ignoriert die Konfiguration
-
28-10-2019 - |
Frage
Ich verwende Maven 3 und lasse meinen Javadoc gemäß der neuen Maven 3 -SitePlugin+Javadoc -Konfiguration konfigurieren. Alle meine Javadoc -Konfigurationsparameter scheinen jedoch ignoriert zu werden. Also keine Paketgruppierung, keine Quelle Verknüpfung usw.
Mein Projekt ist ein Multi -Modul -Projekt, der Befehl, den ich verwende
Hier ist der relevante Teil meines Wurzelpoms::
<build>
<!-- Memory management properties for jenkins build. -->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.11</version>
<configuration>
<argLine>-Xmn8m -Xms32m -Xmx96m -XX:PermSize=32m
-XX:MaxPermSize=128m</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.0-beta-3</version>
<configuration>
<reportPlugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.8</version>
<configuration>
<verbose>true</verbose>
<groups>
<group>
<title>Hypercube</title>
<packages>org.hypercube*</packages>
</group>
<group>
<title>Hyperdrive</title>
<packages>org.hyperdrive*</packages>
</group>
<group>
<title>Hydrogen</title>
<packages>org.hydrogen*</packages>
</group>
<group>
<title>Fusion-X11</title>
<packages>org.fusion.x11*</packages>
</group>
<group>
<title>Fusion-Qt</title>
<packages>org.fusion.qt*</packages>
</group>
</groups>
<linksource>true</linksource>
<minmemory>16m</minmemory>
<maxmemory>128m</maxmemory>
</configuration>
</plugin>
</reportPlugins>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
Lösung
Dies liegt daran, dass Maven die Plugin-Config von Plugins und ReportPlugins innerhalb der Konfiguration des Site-Plugins trennt. Der Snippet, den Sie veröffentlichen, wird beim Laufen nur Maßnahmen ergreifen mvn site
, nicht die Javadoc -Ziele direkt. Dieses Verhalten wirkt sich auf alle Plugins aus. AFAIK ist die einzige Möglichkeit, die Konfiguration auf ein "normales" Plugin-Config so zu duplizieren:
<build>
<!-- Memory management properties for jenkins build. -->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.11</version>
<configuration>
<argLine>-Xmn8m -Xms32m -Xmx96m -XX:PermSize=32m
-XX:MaxPermSize=128m</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.0-beta-3</version>
<configuration>
<reportPlugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.8</version>
<configuration>
<verbose>true</verbose>
<groups>
<group>
<title>Hypercube</title>
<packages>org.hypercube*</packages>
</group>
<group>
<title>Hyperdrive</title>
<packages>org.hyperdrive*</packages>
</group>
<group>
<title>Hydrogen</title>
<packages>org.hydrogen*</packages>
</group>
<group>
<title>Fusion-X11</title>
<packages>org.fusion.x11*</packages>
</group>
<group>
<title>Fusion-Qt</title>
<packages>org.fusion.qt*</packages>
</group>
</groups>
<linksource>true</linksource>
<minmemory>16m</minmemory>
<maxmemory>128m</maxmemory>
</configuration>
</plugin>
</reportPlugins>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.8</version>
<configuration>
<verbose>true</verbose>
<groups>
<group>
<title>Hypercube</title>
<packages>org.hypercube*</packages>
</group>
<group>
<title>Hyperdrive</title>
<packages>org.hyperdrive*</packages>
</group>
<group>
<title>Hydrogen</title>
<packages>org.hydrogen*</packages>
</group>
<group>
<title>Fusion-X11</title>
<packages>org.fusion.x11*</packages>
</group>
<group>
<title>Fusion-Qt</title>
<packages>org.fusion.qt*</packages>
</group>
</groups>
<linksource>true</linksource>
<minmemory>16m</minmemory>
<maxmemory>128m</maxmemory>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>