0

集計目標を使用してプロジェクト全体の javadoc を生成したいのですが、いくつかのサブプロジェクトの javadoc jar も生成したいと考えています。親の pom.xml に次の pluginManagement を追加して、サブプロジェクトが javadoc jar を簡単に生成できるようにしました。

<project>
  ...
  <build>
    <pluginManagement>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.9</version>
        <executions>
          <execution>
            <goals>
              <goal>jar</goal>
            </goals>
            ...

次に、javadoc jar を必要とするサブプロジェクトに追加しました。

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <plugin>
          <artifactId>maven-javadoc-plugin</artifactId>
        </plugin>
        ...

ここまでは順調ですね。ここで、集約目標を使用して javadoc の完全なセットを取得したかったので、javadoc プラグインへの別の参照を親 pom に追加しました。

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>aggregate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      ...

これにより、javadoc プラグインは、それを必要とするいくつかのサブプロジェクトではなく、すべてのサブプロジェクトに取り込まれます。jar と集計の目標は独立してうまく機能しているように見えますが、一緒に使用すると問題が発生します。誰でもこのようなことを解決しましたか?

前もって感謝します!

4

1 に答える 1

1

これに似たようなことをすることでそれを理解しました: pluginManagement で複数のプラグインの実行を構成し、子 POM でそれらから選択できますか? 基本的に、両方の実行に id を追加し、javadoc jar インスタンスに none のフェーズを追加しました。次に、Javadoc jar を必要とするサブプロジェクトのみをパッケージ化するフェーズにオーバーライドしました。親 pom の pluginManagement は次のとおりです。

<project>
  ...
  <build>
    <pluginManagement>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.9.1</version>
          <executions>
            <execution>
              <id>javadoc-jar</id>
              <phase>none</phase>
              <goals>
                <goal>jar</goal>
              </goals>
              ...

次に、必要に応じてサブプロジェクト pom で、次のように javadoc jar をオンにします。

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <executions>
          <execution>
            <id>javadoc-jar</id>
            <phase>package</phase>
          </execution>
        </executions>
      </plugin>
      ...
于 2013-12-02T18:54:29.490 に答える