我有一個多模塊項目。在父POM(這不是聚合器POM)中,我使用的是maven-javadoc-plugin
。它有兩個處決,分別在package
階段,一個爲jar
目標,另一個爲aggregate-jar
目標。如何讓maven-javadoc-plugin生成多個jar文件?
這很好地生成了構建中所有(非測試)類的完整集合Javadoc jar。
我需要做的就是生成TWO Javadoc jars,就像它現在正在生成的一樣,但是另一個包含有限的一組模塊,並且可能排除特定的包或類。
我想也許這需要爲「聚合jar」任務添加兩個「執行」元素,但具有不同的配置值。這似乎沒有做任何事情。它只生成一個單獨的Javadoc樹,用於「所有」類。我如何完成這項工作?
這是我試圖做到這一點:
<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>
感謝回答,但是這似乎沒有什麼區別的。請注意,我的頂級pom是一個聚合pom。我在父pom中定義了javadoc插件,它是子模塊之一。所有其他子模塊都將其指定爲其父代。我在頂層運行了「mvn install」,並生成了「target/* - javadoc.jar」,它似乎具有所有類的javadoc。在分類器設置中,我看不到任何輸出中的任何影響。 –
@大衛好吧,這個問題讀*母pom(這不是聚合POM)*。另外請注意,如果您將它用作聚合器POM,您可能需要指定' true ' –
nullpointer
我真的對您在這裏所說的內容感到困惑。我在原來的帖子中很清楚,我有一個聚合器pom和一個父pom,並且我的javadoc插件設置位於父pom中。頂部目錄中的POM是聚合器POM,其中一個子POM是父POM。 –