gpt4 book ai didi

java - 带有 javadocs 的 Maven 多模块项目站点

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:01:39 24 4
gpt4 key购买 nike

我想使用 Maven 为我的应用程序创建站点。这是一个多模块应用程序,父模块是简单的站点模块,第一个子模块是应用程序的核心,第二个是 GUI (Swing)。

我现在对父 pom.xml 使用 follow

<modules>
<module>core</module>
<module>kayako-desktop</module>
</modules>
<build>
<plugins>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>2.2</version>
<configuration>
<locales>en</locales>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<configuration>
<aggregate>true</aggregate>
</configuration>
</plugin>
<plugin>
<artifactId>maven-changes-plugin</artifactId>
<version>2.4</version>
</plugin>
</plugins>
</reporting>

我核心的pom:

<build>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<phase>package</phase>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
<goal>javadoc</goal>
</goals>
</execution>

</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<configuration>
<links>
<link>http://download.oracle.com/javase/6/docs/api/</link>
</links>
</configuration>
</plugin>
</plugins>

</reporting>

(我从两者中删除了不相关的部分)

问题:我试过 mvn site:stage,但是没有从核心模块收集 javadoc。我做错了什么?

最佳答案

<reportPlugins> 中配置 javadoc 插件父 pom 中 maven-site-plugin 配置的部分。

这是对我有用的。

在父pom中:

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.3</version>
<configuration>
<reportPlugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9</version>
<reportSets>
<reportSet>
<id>aggregate</id>
<reports>
<report>aggregate</report>
</reports>
</reportSet>
</reportSets>
<configuration>
<!-- Here you can add special configurations for your javadoc, if needed -->
</configuration>
</plugin>
<!-- Here you can also configure more report plugins -->
<!-- for your site, such as maven-project-info-reports-plugin -->
</reportPlugins>
</configuration>
</plugin>
<!-- ... -->
</plugins>
</build>
<!-- ... -->
<distributionManagement>
<site>
<id>website</id>
<url>http://site.url/can/be/tentative/or/hypothetical</url>
</site>
</distributionManagement>

在每个子 pom 中,您还可以为站点插件配置特定的报告,例如,surefire 测试报告或项目信息。但是,您不需要在那里放置任何 javadoc 插件配置(除非您还希望为您的子模块使用非聚合的 javadoc)。

然后您应该能够执行 mvn site site:stage从父目录。要查看聚合的 javadoc,请将浏览器指向 target/staging/index.html在该目录中,然后单击页面左侧索引中的“Project Reports”和“JavaDocs”。

额外提示:

有时我想快速查看聚合的 javadoc,而不必执行整个 site site:stage ,这会做更多的事情并且需要更长的时间。所以我还在 <plugin> 中直接包含了 maven-javadoc-plugin 的配置。父 pom 的部分。这样,我就可以运行 mvn javadoc:aggregate并在 target/site/apidocs/index.html 中快速获取聚合的 javadocs .

关于java - 带有 javadocs 的 Maven 多模块项目站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5927590/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com