1

Jenkins で実行できる 1 つのコマンドで、マルチモジュール プロジェクトの完全なサイトを構築しようとしています。ただし、ビルドすると、サブモジュールの javadocs がサイト ルート (site/submodule/apidocs ではなく site/apidocs) に表示されます。親からサブモジュールへのリンクもすべて壊れています。

組織が基準

pom.xml
submodule/pom.xml

親 POM には以下が含まれます。

<build>
    <pluginManagement>
        <plugins>
            ... Various unrelated plugins ...
        </plugins>
    </pluginManagement>
</build>

<profiles>
    <profile>
        <id>complete-build</id>
        <build>
            <plugins>
                <!--JavaDoc setup for Jars-->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.9.1</version>
                    <configuration>
                        <defaultAuthor>Leon Blakey</defaultAuthor>
                        <defaultVersion>${project.version}</defaultVersion>
                        <sourcepath>target/delombok</sourcepath>
                    </configuration>
                </plugin>
                <!--Deploy site with Mercurial (Hg)-->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.3</version>
                    <dependencies>
                        <dependency><!-- add support for scm -->
                            <groupId>org.apache.maven.wagon</groupId>
                            <artifactId>wagon-scm</artifactId>
                            <version>2.4</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.scm</groupId>
                            <artifactId>maven-scm-provider-hg</artifactId>
                            <version>1.8.1</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <reportPlugins>
                            <!--JavaDoc setup for Site-->
                            <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-javadoc-plugin</artifactId>
                                <version>2.9.1</version>
                                <configuration>
                                    <defaultAuthor>Leon Blakey</defaultAuthor>
                                    <defaultVersion>${project.version}</defaultVersion>
                                    <sourcepath>target/delombok</sourcepath>
                                    <show>public</show>
                                </configuration>
                            </plugin>
                            ... Checkstyle, PMD, Findbugs, etc ...
                        </reportPlugins>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

サブモジュール POM には、pluginManagement のスケルトン プラグイン定義が含まれているだけです。

サイトを構築しようとすると (ローカル マシンと Jenkins の両方で)、親から実行します

 mvn clean install site-deploy -Pcomplete-build

上記の設定で、サブモジュールがそのサイト ファイルをサブモジュール ディレクトリ (site/submodule) ではなくサイト ルート (site/) にダンプする原因は何ですか? スタング コマンドを使用する必要がありますか (リリース プロセスが中断されるため、使用を避けています)。1 つのコマンドでマルチモジュール サイトを構築することは不可能ですか?

4

1 に答える 1

0

サブモジュール レベルでビルドをトリガーするには、 maven-reactor-pluginを使用します。

于 2014-01-24T08:43:30.607 に答える