2.2. 複数のモジュールを使用した Maven プラグインの実行


複数のモジュールを持つプロジェクトで Maven プラグインを使用するには、親の pom.xml 内に設定を配置します。実行中、Maven プラグインは親モジュールおよび子モジュールの分析が含まれる単一のレポートを生成します。

注記

マルチモジュールプロジェクトでは、inherited を false に設定することが強く推奨されます。それ以外の場合は、子の各モジュールがコンパイルされるときに Maven プラグインが実行し、子モジュールに対して Maven プラグインが複数回実行されます。inherited を false に設定すると、各プロジェクトで 1 回分析され、実行時間が大幅に短縮されます。

複数のモジュールを持つプロジェクトで Maven プラグインを実行するには、以下の手順を実行します。

  1. 親プロジェクトの pom.xml に以下のプラグインを追加します。以下は、親モジュールの pom.xml の例になります。

    <plugin>
        <groupId>org.jboss.windup.plugin</groupId>
        <artifactId>mtr-maven-plugin</artifactId>
        <version>1.1.1.GA-redhat-00001</version>
        <inherited>false</inherited>
        <executions>
            <execution>
                <id>run-windup</id>
                <phase>package</phase>
                <goals>
                    <goal>windup</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <input>${project.basedir}</input>
            <target>eap:7</target> 1
            <windupHome>>/PATH/TO/CLI/<</windupHome>
        </configuration>
    </plugin>
    1
    移行先を指定します。設定内で少なくとも 1 つの移行ターゲットを指定する必要があります。

    この pom.xml ファイルは、以下の属性でデフォルトとは異なります。

    • inherited: プラグインレベルで定義され、この設定を子モジュールで使用するかどうかを指定します。パフォーマンスを向上させるために false に設定します。
    • input: 分析されるプロジェクトが含まれるディレクトリーへのパスを指定します。この属性はデフォルトで {project.basedir}/src/main に設定されています。親プロジェクトに解析するソースコードがない場合は定義する必要があります。
    • samupHome: MTR CLI の抽出されたコピーへのパス。この属性は任意ですが、パフォーマンスを向上させることが推奨されます。

      上記の例は、推奨される引数のセットを示しています。

  2. 親プロジェクトをビルドします。ビルドプロセス中に、Maven プラグインは追加設定なしでプロジェクトのすべての子に対して実行されます。

    $ mvn clean install
  3. 完了したら、生成されたレポートにアクセスできます。このレポートには、親およびすべての子に関する分析が含まれます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.