1. 概要

Apache Maven Javadocプラグインを使用すると、Mavenビルド中に指定されたプロジェクトのJavadocを生成できます。 さらに、プラグインは標準のjavadocツールを使用してJavadocを自動的に生成するため、非常に便利です。

このクイックチュートリアルでは、MavenビルドでJavadoc生成を一時的に無効にする方法を見ていきます。

2. 問題の紹介

pom.xmlでMavenJavadocプラグインを構成して、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ファイルに添付したくない場合があります。 ただし、MavenJavadocプラグインも削除したくありません。

したがって、ビルドでJavadocの生成をスキップする方法が必要です。 次に、それを達成する方法を見てみましょう。

3. maven.javadoc.skipオプション

Maven Javadocプラグインには、Javadocの生成をスキップするためのmaven.javadoc.skipオプションが用意されています。

プロジェクトをビルドするときに値trueを指定してこのオプションを渡すと、MavenビルドはJavadocを生成しません。

mvn clean install -Dmaven.javadoc.skip=true

4. MavenリリースプラグインでJavadocの生成をスキップする

Mavenリリースプラグインは、自動リリース管理に広く使用されています。

プロジェクトでMavenリリースプラグインとJavadocプラグインの両方を構成したとしましょう。

ここで、Maven Javadocプラグインに、通常のビルド用のJavadocを生成するように依頼しますが、リリースビルドの場合のみJavadocの生成をスキップします。

この目標を達成するために使用できる2つのアプローチがあります。

最初の方法は、リリースビルドを開始するときに、mvnコマンドラインに引数を渡すことです。

mvn release:perform -Darguments="-Dmaven.javadoc.skip=true"

または、Mavenリリースプラグイン構成に 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リリースプラグインを使用したすべてのビルドは、Javadocの生成をスキップします。

5. 結論

このクイック記事では、MavenJavadocプラグインがpom.xmlで構成されている場合にJavadocの生成をスキップする方法について説明しました。