Maven javadoc 插件 - 如何只包含某些类?
2022-09-02 08:52:30
使用Maven javadoc插件,您可以排除某些软件包 - 但我有很多软件包,只有少数类我想为之生成Javadoc。
有没有办法包括而不是排除?
我也想在类级别而不是包级别上做事,因为我在包中有一些类需要javadoc,而有些不需要。
使用Maven javadoc插件,您可以排除某些软件包 - 但我有很多软件包,只有少数类我想为之生成Javadoc。
有没有办法包括而不是排除?
我也想在类级别而不是包级别上做事,因为我在包中有一些类需要javadoc,而有些不需要。
从 maven-javadoc-plugin 版本 2.9 开始,您可以在配置中执行此操作:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9</version>
<configuration>
....
<sourceFileIncludes>
<include>Foo.java</include>
<include>Bar.java</include>
</sourceFileIncludes>
<sourcepath>${basedir}/src/main/java/path/to/foo-and-bar</sourcepath>
....
</configuration>
....
...这将构建一个Javadoc站点,仅包含上述类。
使用maven-javadoc-plugin,你不能指定特定的java类(尽管你可以使用javadoc实用程序,见下文)。但是,通过 javadoc:javadoc 目标的源路径配置选项,您可以配置特定的包。下面是一个示例:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.5</version>
<configuration>
<charset>UTF-8</charset>
<docencoding>UTF-8</docencoding>
<docfilessubdirs>true</docfilessubdirs>
<links>
<link>http://java.sun.com/j2se/1.5.0/docs/api/</link>
</links>
<show>protected</show>
<source>1.5</source>
<sourcepath>${basedir}/src/main/java/com/acme/foo</sourcepath>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
</reportSets>
</plugin>
在此示例中,com.acme.foo 包下的所有类(包括子包)都将生成 javadoc。
应该注意的是,这个Maven插件只是Sun的javadoc实用程序的包装器。因此,javadoc的大多数文档和配置都适用于此插件。请参阅 Sun 关于 javadoc sourcepath 参数的文档。
在 maven-javadoc-plugin 在功能上有所不同的领域,Sun 的 sourcepath 参数文档提到,使用 javadoc 实用程序可以为特定类生成 javadoc。此功能不适用于 maven-javadoc-plugin。Sun 的文档显示了这方面的一个示例:
C:> cd C:\home\src\java\awt
C:> javadoc -d C:\home\html Button.java Canvas.java Graphics*.java