Maven プラグインガイド

Migration Toolkit for Applications 6.1

Migration Toolkit for Applications を Maven ビルドプロセスに統合

Red Hat Customer Content Services

概要

このガイドでは、Migration Toolkit for Applications Maven プラグインを使用して、Red Hat OpenShift のハイブリッドクラウド環境全体で大規模なアプリケーションモダナイゼーションの取り組みを促進する方法について説明します。

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

第1章 はじめに

1.1. Maven プラグインガイド

Java アプリケーションやその他のコンポーネントを移行するために、Migration Toolkit for Applications (MTA) を使用するエンジニア、コンサルタント、およびその他のユーザーを対象としています。Maven プラグインのインストールおよび実行方法、生成されたレポートを確認し、追加機能を活用する方法を説明します。

1.2. Migration Toolkit for Applications の概要

Migration Toolkit for Applications とは

Migration Toolkit for Applications (MTA) は、Red Hat OpenShift 上のハイブリッドクラウド環境全体で大規模なアプリケーションモダナイゼーションに対する取り組みを促進します。このソリューションは、ポートフォリオレベルとアプリケーションレベルの両方で、採用プロセス全体を通じて洞察を提供します。つまり、アプリケーションのインベントリー、評価、分析、および管理を行い、ユーザーインターフェイスを介して OpenShift への移行をより短い期間で行うことができます。

MTA は、アプリケーションを評価するための基礎として広範にわたる質問リストを使用して、コンテナー化のアプリケーションの準備に必要な難易度、時間、およびその他のリソースを見積もることができるようにします。ステークホルダー間の議論の基礎として評価の結果を使用して、どのアプリケーションがコンテナー化に適しているか、どのアプリケーションが最初に多大な作業を必要とするか、どのアプリケーションがコンテナー化に適していないかを判断できます。

MTA は、対象のアプリケーションごとに 1 つ以上のルールセットを適用してアプリケーションを分析し、モダナイゼーションする前に、そのアプリケーションに含まれるどの行を変更するかを判断します。

MTA は、プロジェクトソースディレクトリーやアプリケーションアーカイブを含むアプリケーションアーティファクトを検査し、変更を必要とするエリアを強調表示する HTML レポートを作成します。MTA は、以下を含む多くの移行パスをサポートします。

  • Red Hat JBoss Enterprise Application Platform の最新リリースへのアップグレード
  • Oracle WebLogic または IBM WebSphere Application Server から Red Hat JBoss Enterprise Application Platform への移行
  • アプリケーションのコンテナー化とクラウド化
  • Java Spring Boot から Quarkus への移行
  • OpenJDK 8 から OpenJDK 11 へのアップグレード
  • OpenJDK 11 から OpenJDK 17 へのアップグレード
  • EAP Java アプリケーションの Azure App Service への移行
  • Spring Boot Java アプリケーションの Azure App Service への移行

ユースケースおよび移行パスの詳細は、開発者向け MTA Web ページを参照してください。

Migration Toolkit for Applications による移行を単純化する方法

Migration Toolkit for Applications は一般的なリソースを探し、アプリケーションを移行する際の既知の問題点を明らかにします。アプリケーションで使用されるテクノロジーの概要を示します。

MTA は、移行またはモダナイゼーションパスの評価に関する詳細なレポートを生成します。このレポートは、大規模なプロジェクトに必要な作業を見積もり、関係する作業を減らすのに役立ちます。

1.3. Maven プラグインについて

Migration Toolkit for Applications の Maven プラグインは Maven ビルドプロセスに統合されるため、開発者はソースコードの反復ごとに移行およびモダイライゼーション作業を継続的に評価できます。分析結果を強調表示するレポートが多数提供され、ビルドごとに更新が必要な開発者向けに設計されています。

第2章 スタートガイド

2.1. Maven プラグインの実行

Maven プラグインは、アプリケーションの pom.xml ファイル内にプラグインへの参照を含めることによって実行します。アプリケーションがビルドされると、Maven プラグインが実行され、分析用のレポートが生成されます。

前提条件

  • Java Development Kit(JDK) がインストールされている。

    MTA が以下の JDK をサポートしている

    • OpenJDK 11
    • Oracle JDK 11
  • 8 GB RAM
  • macOS のインストール: maxproc の値が 2048 以上あること。
  • Maven settings.xml ファイルが Maven に JBoss EAP Maven リポジトリーを使用するように 設定されている
  • OpenJDK 17 または Oracle JDK17 で Maven プラグインを実行するには、まず次のコマンドを実行してコマンドラインで MAVEN_OPTS を設定していること。

    export MAVEN_OPTS="--add-modules=java.se --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.stream=ALL-UNNAMED"

手順

  1. <plugin> をアプリケーションの pom.xml ファイルに追加します。

    [...]
    <plugin>
        <groupId>org.jboss.windup.plugin</groupId>
        <artifactId>mta-maven-plugin</artifactId>
        <version>6.1.3.GA1-redhat</version>
        <executions>
            <execution>
                <id>run-windup</id>
                <phase>package</phase>
                <goals>
                    <goal>windup</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <target>eap:7</target> 1
        </configuration>
    </plugin>
    [...]
    1
    移行先を指定します。設定内で少なくとも 1 つの移行ターゲットを指定する必要があります。
  2. --add-modules=java.seMAVEN_OPTS 環境変数に追加します。

    export MAVEN_OPTS=--add-modules=java.se
  3. プロジェクトをビルドします。

    $ mvn clean install

    生成されたレポートにアクセスできます。

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>mta-maven-plugin</artifactId>
        <version>6.1.3.GA1-redhat</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: MTA CLI の抽出されたコピーへのパス。この属性は任意ですが、パフォーマンスを向上させることが推奨されます。

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

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

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

2.3. レポートへのアクセス

Migration Toolkit for Applications を実行すると、pom.xmloutputDirectory 引数を使用して指定する OUTPUT_REPORT_DIRECTORY にレポートが生成されます。ビルドが完了すると、ビルドログに以下のメッセージが表示されます。

Windup report created: <OUTPUT_REPORT_DIRECTORY>/index.html

output ディレクトリーには、以下のファイルおよびサブディレクトリーが含まれます。

<OUTPUT_REPORT_DIRECTORY>/
├── index.html          // Landing page for the report
├── <EXPORT_FILE>.csv     // Optional export of data in CSV format
├── graph/              // Generated graphs used for indexing
├── reports/            // Generated HTML reports
├── stats/              // Performance statistics

MTA レポートの詳細と、それらを使用して移行またはモダライゼーションの取り組みを評価する方法は、MTA のCLI ガイドレポートの確認 セクションを参照してください。

第3章 CSV 形式でのレポートのエクスポート

MTA には、分類やヒントなどのレポートデータをローカルファイルシステムのフラットファイルにエクスポートする機能があります。export 関数は現在 CSV ファイル形式をサポートし、レポートデータはコンマ (,) で区切られたフィールドとして示されます。

CSV ファイルは、Microsoft Excel、OpenOffice Calc、LibreOffice Calc などのスプレッドシートソフトウェアでインポートおよび操作できます。スプレッドシートソフトウェアは、MTA レポートから結果データを並べ替え、分析、評価、および管理する機能を提供します。

3.1. レポートのエクスポート

レポートを CSV ファイルとしてエクスポートするには、exportCSV 引数が true に設定された MTA を実行します。

CSV ファイルは、解析される各アプリケーションの、--output 引数で指定されたディレクトリーに作成されます。分析されたすべてのアプリケーションにわたるすべての発見された問題は、AllIssues.csv ファイルに含まれています。

CSV ファイルは、outputDirectory 引数で指定されたディレクトリーにエクスポートされます。

3.2. CSV ファイルのスプレッドシートプログラムへのインポート

  1. スプレッドシートソフトウェア (例: Microsoft Excel) を起動します。
  2. FileOpen を選択します。
  3. CSV でエクスポートされるファイルを参照し、これを選択します。
  4. これで、スプレッドシートソフトウェアでデータを分析できるようになりました。

3.3. CSV データ構造について

CSV 形式の出力ファイルには、以下のデータフィールドが含まれます。

ルール ID
指定の項目を生成したルールの ID。
問題のタイプ
ヒント または 分類
件名
classification または hint の件名。このフィールドは、特定の項目の問題を要約します。
説明
指定項目の問題の詳細な説明。
リンク
問題に関する追加情報を提供する URL。リンクは、リンク、およびリンクの説明という 2 つの属性で設定されます。
アプリケーション
この項目が生成されたアプリケーションの名前。
ファイル名
指定項目のファイルの名前。
ファイルパス
指定項目のファイルパス。
指定項目のファイルの行番号。
ストーリーポイント
特定の項目に割り当てられた、努力のレベルを表すストーリーポイントの数。

付録A 参考資料

A.1. Maven プラグイン引数について

以下は、利用可能な MTA Maven プラグイン引数の詳細な説明です。

表A.1 MTA Maven プラグイン引数

引数説明

analyzeKnownLibraries

アプリケーション内に埋め込まれた既知のソフトウェアアーティファクトを分析するフラグ。デフォルトでは、MTA はアプリケーションコードのみを分析します。

注記

このオプションを使用すると実行時間が長くなり、多数の移行問題が報告される可能性があります。

customLoggingPropertiesFile

java.util.logging.LogManager ログ設定が含まれる logging.properties ファイルへの絶対パス。指定されたパスが無効であるか、オプションが指定されていない場合、ログは Maven プラグインに含まれる logging.properties ファイルの使用に戻ります。

disableTattletale

Tattletale レポートの生成を無効にするフラグ。enableTattletaledisableTattletale の両方が true に設定されていると、disableTattletale は無視されます。また、Tatletale レポートは引き続き生成されます。

enableCompatibleFilesReport

Compatible Files レポートの生成を有効にするフラグ。問題が検出されない状態ですべてのファイルを処理するため、このレポートには大規模なアプリケーションの処理に時間がかかる場合があります。

enableTattletale

各アプリケーションの Tattletale レポートの生成を有効にするフラグ。このオプションは、eap が含まれるターゲットにある場合にデフォルトで有効になります。enableTattletaledisableTattletale の両方が true に設定されていると、disableTattletale は無視されます。また、Tatletale レポートは引き続き生成されます。

enableTransactionAnalysis

[テクノロジープレビュー] リレーショナルデータベーステーブルで操作を実行するコールスタックを表示するトランザクションレポートの生成を有効にするフラグ。Enable Transaction Analysis 機能は、Spring Data JPA と、SQL ステートメント実行用の従来の preparedStatement() メソッドをサポートします。Hibernate などの ORM フレームワークはサポートしていません。

注記

enableTransactionAnalysis はテクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

excludePackages

評価から除外するパッケージの一覧。たとえば、com.mycompany.commonutilities と入力すると、パッケージ名が com.mycompany.commonutilities で始まるクラスをすべて除外します。

excludeTags

除外するタグのリスト。指定されている場合は、これらのタグを持つルールは処理されません。

explodedApps

指定された入力ディクショナリーに 1 つのアプリケーションのソースファイルが含まれていることを示すフラグ。

exportCSV

レポートデータをローカルファイルシステムの CSV ファイルにエクスポートするフラグ。MTA は、outputDirectory 引数で指定されたディレクトリーにファイルを作成します。CSV ファイルは、データの操作および分析のためにスプレッドシートプログラムにインポートできます。

includeTags

使用するタグのリスト。指定されると、これらのタグを持つルールのみが処理されます。

inputDirectory

分析するアプリケーションが含まれるディレクトリーへのパスを指定します。この引数はデフォルトで {project.basedir}/src/main/ です。

keepWorkDirs

グラフデータベースやデプロイメントされたアーカイブなどの一時作業ファイルを削除しないように MTA に指示するフラグ。これはデバッグに役立ちます。

legacyReports

新しい形式のレポートではなく古い形式のレポートを生成するように MTA に指示するフラグ。

packages

MTA が評価するパッケージのリスト。この引数は必須です。

offlineMode

フラグはオフラインモードで動作し、スキームの検証などのネットワークアクセス機能を無効にします。パフォーマンスの向上に使用します。

outputDirectory

MTA が生成したレポート情報を出力するディレクトリーへのパスを指定します。この引数はデフォルトで {project.build.directory}/windup-report に設定されます。

overwrite

outputDirectory で指定された既存の出力ディレクトリーを強制的に削除するためのフラグ。デフォルトは true です。

警告

重要な情報が含まれるレポート出力ディレクトリーを指定しないでください。

sourceTechnologies

移行元となる 1 つ以上のソーステクノロジー、サーバー、プラットフォーム、またはフレームワークのリスト。この引数は、targetTechnologies 引数とともに、使用されるルールセットを判断するのに役立ちます。

sourceMode

評価するアプリケーションに、コンパイルされたバイナリーではなくソースファイルが含まれていることを示すフラグ。デフォルトは true です。

targetTechnologies

移行先の 1 つ以上のターゲットテクノロジー、サーバー、プラットフォーム、またはフレームワークのリスト。この引数は、sourceTechnologies 引数とともに、使用されるルールセットを判断するのに役立ちます。

userIgnorePath

MTA が無視されるファイルを識別する場所を指定します。

userRulesDirectory

カスタム MTA ルールを検索する場所を指定します。値は、単数または複数のルールセットファイルを含むディレクトリーです。ルールセットファイルでは、.windup.xml の接尾辞を使用する必要があります。

windupHome

抽出した MTA CLI のルートを参照する任意の引数。CLI のローカルインストールを参照すると、Maven プラグインはすべてのインデックスに直接アクセスできるため、パフォーマンスが向上します。

windupVersion

実行する MTA のバージョンを指定します。デフォルトでは、これは Maven プラグインのビルドバージョンです。

A.1.1. 入力ディレクトリーの指定

分析する 1 つ以上のアプリケーションを含むファイルまたはディレクトリーへのパス。デフォルトは {project.basedir}/src/main/ です。

使用方法

<inputDirectory>
    <INPUT_ARCHIVE_OR_DIRECTORY>
</inputDirectory>

A.1.2. 入力ファイルの評価

inputDirectory 引数に指定された入力ファイルタイプがファイルであるかディクショナリーであるかに応じて、指定された追加の引数に応じて次のように評価されます。

ディレクトリー
--explodedApp--sourceMode引数なし

ディレクトリーは 1 つのアプリケーションとして評価されます。

ディレクトリーは 1 つのアプリケーションとして評価されます。

各サブディレクトリーはアプリケーションとして評価されます。

ファイル
--explodedApp--sourceMode引数なし

引数は無視されます。ファイルは 1 つのアプリケーションとして評価されます。

ファイルは圧縮プロジェクトとして評価されます。

ファイルは 1 つアプリケーションとして評価されます。

A.1.3. 出力ディレクトリーの指定

MTA が生成したレポート情報を出力するディレクトリーへのパスを指定します。

使用方法

<outputDirectory>
    <OUTPUT_REPORT_DIRECTORY>
</outputDirectory>

  • 省略すると、レポートは {project.build.directory}/windup-report ディレクトリーに生成されます。
  • 出力ディレクトリーが存在する場合は、overwrite 引数の値に基づいて上書きされます。この引数はデフォルトで true で、MTA はディレクトリーを削除し、再作成します。

A.1.4. ソーステクノロジーの設定

移行元となる 1 つ以上のソーステクノロジー、サーバー、プラットフォーム、またはフレームワークのリスト。この引数は、targetTechnologies 引数とともに、使用されるルールセットを判断するのに役立ちます。

使用方法

<sourceTechnologies>
    <source>eap:6</source>
</sourceTechnologies>

sourceTechnologies 引数は、Maven バージョン範囲の構文 に続くバージョンサポートを提供するようになりました。これにより、指定されたバージョンに一致するルールセットのみを実行するように MTA が指示されます。たとえば、<source>eap:5</source> です。

A.1.5. ターゲット引数の設定

移行先の 1 つ以上のターゲットテクノロジー、サーバー、プラットフォーム、またはフレームワークのリスト。この引数は、sourceTechnologies 引数とともに、使用されるルールセットを判断するのに役立ちます。この引数は必須です。

使用方法

<targetTechnologies>
  <target>eap:7</target>
</targetTechnologies>

targetTechnologies 引数は、Maven バージョン範囲の構文 に続くバージョンサポートを提供するようになりました。これにより、指定されたバージョンに一致するルールセットのみを実行するように MTA が指示されます。たとえば、<target>eap:7</target> です。

警告

JBoss EAP に移行する場合は、必ずバージョンをターゲットに指定してください (例: eap:6)。eap のみを指定すると、移行パスに関連しないものを含め、すべてのバージョンの JBoss EAP にルールセットが実行されます。

JBoss EAP バージョンに適した Migration Toolkit for Applications の概要サポートされる移行パス を参照してください。

A.1.6. パッケージの選択

MTA が評価するパッケージのリスト。この引数を使用することは強く推奨されます。

使用方法

<packages>
  <package>
    <PACKAGE_1>
  </package>
  <package>
    <PACKAGE_2>
  </package>
</packages>

  • 多くの場合、関心があるのは、カスタムアプリケーションクラスパッケージの評価で、標準の Java EE パッケージやサードパーティーのパッケージではありません。<PACKAGE_N> 引数はパッケージ接頭辞で、すべてのサブパッケージがスキャンされます。たとえば、com.mycustomapp および com.myotherapp パッケージをスキャンするには、pom.xml で以下のスニペットを使用します。

    <packages>
      <package>com.mycustomapp</package>
      <package>com.myotherapp</package>
    </packages>
  • org.apache などの標準の Java EE サードパーティーソフトウェアにパッケージ名を指定することはできますが、通常は移行作業に影響しないため、追加しないことが推奨されます。

A.2. デフォルトのロギングプロパティー

以下では、Maven プラグインに含まれるデフォルトの logging.properties ファイルが提供されます。この設定は、Maven プラグインの進捗を表示できる一方で、多くの余分なメッセージを省略します。

デフォルトの logging.properties ファイル

# Licensed under the Eclipse Public License version 1.0, available at
# http://www.eclipse.org/legal/epl-v10.html
#

# Additional loggers to configure (the root logger is always configured)
#loggers=
handlers=java.util.logging.ConsoleHandler
.level=INFO
#java.util.logging.ConsoleHandler.level=INFO

#loggers=org.jboss.forge,org.jboss.weld,org.xnio,org.jboss.forge,org.ocpsoft.rewrite,org.jboss.windup.graph.GraphModelScanner,org.jboss.windup.reporting.xml.ClassificationHandler,org.jboss.windup.graph.GraphTyp$
org.jboss.forge.level=SEVERE
org.janusgraph.level=SEVERE
org.janusgraph.diskstorage.berkeleyje.BerkeleyJEKeyValueStore.level=SEVERE
org.janusgraph.diskstorage.berkeleyje.level=SEVERE
org.jboss.weld.level=SEVERE
org.xnio.level=SEVERE
org.jboss.forge.level=SEVERE
org.ocpsoft.rewrite.level=SEVERE
org.jboss.windup.graph.GraphModelScanner.level=SEVERE
org.jboss.windup.reporting.xml.ClassificationHandler.level=SEVERE
org.jboss.windup.graph.GraphTypeManager.level=SEVERE
org.jboss.windup.graph.GraphContextImpl.level=SEVERE
org.jboss.windup.rules.files.FileMapping.level=SEVERE
org.jboss.windup.exec.level=SEVERE
org.jboss.windup.config.level=SEVERE
com.thinkaurelius.level=SEVERE
org.jboss.windup=INFO

A.3. ルールのストーリーポイントについて

A.3.1. ストーリーポイントとは

ストーリーポイント は、アジャイルソフトウェア開発で一般的に使用される抽象メトリックで、機能や変更を実装するのに必要な 作業量 を予測します。

Migration Toolkit for Applications はストーリーポイントを使用して、特定のアプリケーションコンストラクトとアプリケーション全体を移行するために必要な作業のレベルを表現します。必ずしも工数に変換される訳ではありませんが、この値はタスク全体で一貫性を持たせる必要があります。

A.3.2. ルールにおけるストーリーポイントの見積方法

ルールのストーリーポイントの作業レベルを見積もることは複雑です。以下は、ルールに必要な作業レベルを見積もる際に MTA が使用する一般的なガイドラインです。

作業レベルストーリーポイント説明

Information

0

移行の優先度が非常に低いか、優先度のない情報警告。

Trivial

1

移行は簡単な変更、または API の変更がないか最小限の変更を伴う単純なライブラリーの交換です。

Complex

3

移行タスクに必要な変更は複雑ですが、解決策が文書化されています。

Redesign

5

移行タスクでは、API が大幅に変更され、再設計または完全なライブラリーの変更が必要になります。

Rearchitecture

7

移行には、コンポーネントまたはサブシステムの完全な再アーカイブが必要です。

Unknown

13

移行ソリューションは不明なため、完全な再書き込みが必要になる場合があります。

A.3.3. タスクカテゴリー

作業量レベルに加えて、移行タスクを分類してタスクの重大度を示すことができます。次のカテゴリーは、移行作業の優先順位を行えるように、問題をグループ化するために使用されます。

Mandatory
移行を成功させるには、タスクを完了する必要があります。変更が行われないと、生成されるアプリケーションはビルドまたは実行に成功しません。たとえば、ターゲットプラットフォームでサポートされないプロプライエタリー API の置き換え例が含まれます。
Optional
移行タスクが完了しない場合、アプリケーションは動作しますが、結果が最適になるとは限りません。移行時に変更が行われない場合は、移行の完了後すぐにスケジュールに配置することが推奨されます。これには、EJB 2.x コードの EJB 3 へのアップグレードが挙げられます。
Potential
移行プロセス中にタスクを調べる必要があります。しかし、移行を成功させるためにタスクが必須かどうかを判断するのに十分な詳細情報がありません。これの例は、直接互換性のあるタイプがないサードパーティーのプロプライエタリータイプの移行です。
Information
タスクは、特定のファイルの存在を通知するために含まれています。これらは、モダナイゼーション作業の一部として検証または変更する必要がある場合がありますが、通常は変更は必要ありません。これには、ロギング依存関係または Maven pom.xml があります。

タスクの分類に関する詳細は、カスタムルールカテゴリーの使用 を参照してください。

A.4. 関連情報

A.4.1. 関わること

Migration Toolkit for Applications がほとんどのアプリケーション設定とサーバー設定 (お客様のものを含む) をカバーできるようにするために、次の項目のいずれかを支援してください。

  • jboss-migration-feedback@redhat.com にメールを送信し、MTA 移行ルールが対象とすべき内容を知らせる。
  • 移行ルールをテストするためのアプリケーションの例を指定する。
  • 移行が困難なアプリケーションコンポーネントおよび問題の領域を特定する。

    • これらの問題がある移行領域について簡単な説明を記入します。
    • 問題の移行領域を解決する方法を説明する簡単な概要を記述する。
  • アプリケーションで Migration Toolkit for Applications を試行する。発生している問題は必ず報告してください。
  • Migration Toolkit for Applications ルールリポジトリーに貢献する。

    • Migration Toolkit for Applications ルールを記述して、移行プロセスを識別または自動化する。
    • 新規ルールのテストを作成する。
    • 詳細は、ルール開発ガイド を参照してください。
  • プロジェクトのソースコードに貢献する。

    • コアルールを作成する。
    • MTA のパフォーマンスまたは効率が向上する。

どのレベルの参加でも大歓迎です。

A.4.3. 問題の報告

MTA は Jira を問題追跡システムとして使用します。MTA の実行で問題が発生した場合は、Jira issue を作成してください。





改訂日時: 2023-10-26

法律上の通知

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.