私の質問は、javadoc:javadoc を実行したい 1 つを除くすべてのプロジェクトに対して javadoc:aggregate を実行したいということから来ています (この 1 つのプロジェクトには、その maven-javadoc-plugin 構成で sourcepath 設定を使用する必要があるサブモジュールがあるため、ソースだけでなくコードも生成されているため)。
そして、私が理解しているように、集約目標を実行すると sourcepath 設定が無視されるというバグがあります。私はそれを自分で試してみましたが、うまくいきませんでした。
プラグイン構成を定義する親 POM があります。
<properties>
<javadoc-goal>aggregate</javadoc-goal>
<properties>
すなわち
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>generate-javadoc</id>
<phase>package</phase>
<goals>
<goal>${javadoc-goal}</goal>
</goals>
<configuration>
...
</configuration>
</execution>
</executions>
</plugin>
次に、このプロジェクトを継承するいくつかのプロジェクトがあります。集約の代わりに javadoc を実行する必要がある場合は、次のように定義します。
<javadoc-goal>javadoc</javadoc-goal>
そしてそのサブモジュールはそのソースパスを定義します:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<sourcepath>${basedir}/src/main/java:${basedir}/src/generated/java</sourcepath>
</configuration>
...
</plugin>
</plugins>
</reporting>
親POMをインストールしようとすると、変数をリテラルとして扱っているように見えるため、私の質問に対する答えはノーだと思います。他の多くの場所で変数を使用できるため、奇妙に感じました。
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] '${javadoc-goal}' was specified in an execution, but not found in the plugin
これができない場合、この問題を回避するためのアイデアはありますか?