2

Maven Release Plugin Plugin を使用して、Jenkins ジョブでマルチモジュール Maven リアクター プロジェクトの集計Javadocを生成する絶対確実な方法はありますか?

私の問題は、 がすべての POM バージョンを更新した後、モジュール アーティファクトの参照バージョンがまだ存在しない場合、リアクター POM で失敗maven-release-pluginするため、次のビルドが壊れることです。javadoc:aggregate

maven-javadoc-plugin私の回避策は、プロファイルを使用して、無効にしてビルドを 1 回実行することです。次に、再度有効にするとmaven-javadoc-plugin、次のビルドが成功します。

これはむしろハックであり、単純なものが欠けているだけなのだろうか...

maven-javadoc-pluginこれがリアクター POM からの私の構成です。

    <profile>
        <id>javadoc</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>aggregate-javadoc</id>
                            <phase>post-integration-test</phase>
                            <goals>
                                <goal>aggregate</goal>
                            </goals>
                        </execution>
                    </executions>
                    <inherited>false</inherited>
                </plugin>
            </plugins>
        </build>
    </profile>
4

1 に答える 1

0

私はちょうど同じ問題に直面していましたが、少し遊んだ後、aggregate-jar代わりにゴールを使用するとうまく機能することがわかりました(基本的な集約されたjavadocとさらにjarファイルを生成しますが、後者は破棄できます)。

generate-sourcesこれは、目標の実行がバインドされているさまざまなデフォルトのライフサイクル フェーズと、フェーズの場合のaggregateフェーズの追加の実行が原因であると思います。

  • javadoc:aggregate :それ自体を実行する前に、ライフサイクル フェーズの実行を呼び出します。generate-sources

  • javadoc:aggregate-jar :デフォルトでライフサイクル フェーズにバインドします: package

于 2016-09-28T11:21:41.137 に答える