1. 概述
Apache Maven Javadoc 插件允许我们在 Maven 构建期间为指定项目生成 Javadoc。此外,该插件非常方便,因为它使用标准 javadoc 工具自动生成 Javadoc。
在本快速教程中,我们将了解如何暂时禁用 Maven 构建中的 Javadoc 生成。
2.问题介绍
我们可以在 pom.xml 中配置 Maven Javadoc 插件来生成 Javadoc 并将它们附加到构建的 jar 文件中,例如:
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
...
这很方便。然而,有时,当我们发布版本时,我们不想将 Javadoc 附加到 jar 文件中。但是,我们也不想删除 Maven Javadoc 插件。
因此,我们需要一种方法来跳过构建中的 Javadoc 生成。接下来我们看看如何实现。
3.maven.javadoc.skip 选项
Maven Javadoc 插件提供了 maven.javadoc.skip 选项来跳过 Javadoc 生成。
如果我们在构建项目时传递值为 true 的此选项,我们的 Maven 构建将不会生成 Javadocs:
mvn clean install -Dmaven.javadoc.skip=true
4. 使用 Maven 发布插件跳过 Javadoc 生成
Maven Release Plugin广泛用于自动发布管理。
假设我们已经在项目中配置了 Maven Release 插件和 Javadoc 插件。
现在,我们想要要求 Maven Javadoc 插件为常规构建生成 Javadoc,但仅针对发布构建跳过 Javadoc 生成。
我们可以使用两种方法 来实现这一目标。
第一种方法是当我们开始发布构建时将参数传递给 mvn 命令行:
mvn release:perform -Darguments="-Dmaven.javadoc.skip=true"
或者,我们可以在 Maven Release 插件配置中添加 maven.javadoc.skip=true 参数:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<arguments>-Dmaven.javadoc.skip=true</arguments>
</configuration>
</plugin>
这样,所有使用 Maven Release 插件的构建都将跳过 Javadoc 生成。
5. 结论
在这篇简短的文章中,我们解决了在 pom.xml 中配置 Maven Javadoc 插件时如何跳过 Javadoc 生成。