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 生成。