Ich habe ein Multi-Modul-Projekt. In der Elternpom (die nicht der Aggregator POM ist), verwende ich maven-javadoc-plugin
. Es hat zwei Ausführungen, sowohl in der package
Phase, eine für die jar
Ziel, und eine für die aggregate-jar
Ziel.Wie man maven-javadoc-plugin erzeugt mehrere Gläser?
Dies erzeugt eine vollständige Aggregat Javadoc jar aller (Nicht-Test-) Klassen im Build.
Was muss ich tun, um in der Lage ist ZWEI Javadoc Gläser zu erzeugen, ein genau so, wie es jetzt ist zu erzeugen, aber eine andere, die eine begrenzte Anzahl von Modulen umfasst, und schließt möglicherweise bestimmte Pakete oder Klassen.
Ich dachte vielleicht, dass dies ZWEI "Ausführung" -Elemente hinzufügen würde, beide für die "aggregate-jar" Aufgabe, aber mit unterschiedlichen Konfigurationswerten. Dies schien nichts zu tun. Es hat nur einen einzigen Javadoc-Baum für "alle" Klassen erzeugt. Wie bekomme ich das?
Dies war mein Versuch, dies zu verwirklichen:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
<executions>
<execution>
<id>module-javadoc-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<show>protected</show>
<detectLinks>true</detectLinks>
</configuration>
</execution>
<execution>
<id>aggregated-documentation-all</id>
<phase>package</phase>
<inherited>false</inherited>
<goals>
<goal>aggregate-jar</goal>
</goals>
<configuration>
<sourcepath>
../something-api:
../something-impl:
../something-else-api:
../something-else-impl:
</sourcepath>
<destDir>all</destDir>
<finalName>all</finalName>
<show>protected</show>
<detectLinks>true</detectLinks>
</configuration>
</execution>
<execution>
<id>aggregated-documentation-interface</id>
<phase>package</phase>
<inherited>false</inherited>
<goals>
<goal>aggregate-jar</goal>
</goals>
<configuration>
<sourcepath>
../something-api:
../something-else-api:
</sourcepath>
<destDir>interface</destDir>
<finalName>interface</finalName>
<show>protected</show>
<detectLinks>true</detectLinks>
</configuration>
</execution>
</executions>
</plugin>
Dank für die Antwort, aber das schien keinen Unterschied überhaupt zu machen. Beachten Sie, dass mein Top-Level-Pom ein Aggregat Pom ist.Ich habe das Javadoc-Plugin im Eltern-Pom definiert, welches eines der Kind-Module ist. Alle anderen untergeordneten Module geben das als ihr Eltern-Pom an. Ich habe "mvn install" auf der obersten Ebene ausgeführt, und es wurde "target/* - javadoc.jar" erstellt, das scheinbar das Javadoc für alle Klassen enthält. Ich sehe keine Anzeige in irgendeiner Ausgabe von irgendwelchen Effekten von den Klassifikatoreinstellungen. –
@David okay, die Frage lesen * Eltern POM (die nicht der Aggregator POM ist) *. Beachten Sie auch, wenn Sie es als Aggregator POM verwenden möchten Sie wahrscheinlich angeben möchten True ' –
nullpointer
Ich bin wirklich verwirrt von dem, was Sie hier sagen. Ich war ziemlich klar in der ursprünglichen Posting, dass ich einen Aggregator POM UND einen Eltern Pom habe, und meine Javadoc Plugin-Einstellung ist in der Eltern Pom. Das POM im obersten Verzeichnis ist das Aggregatorpom, und eines der Kindpoms ist das Elternpom. –