付録A 参考資料

A.1. MTA コマンドライン引数

以下は、利用可能な MTA コマンドライン引数の詳細な説明です。

注記

スクリプトから実行した場合など、プロンプトを表示せずに MTA コマンドを実行するには、以下の引数を使用する必要があります。

  • --batchMode
  • --overwrite
  • --input
  • --target

表A.1 MTA CLI 引数

引数説明

--additionalClassPath

クラスパスに追加する追加の JAR ファイルまたはディレクトリーのスペース区切りリスト。逆コンパイルやその他の解析に使用できます。

--addonDir

指定したディレクトリーをカスタムアドオンリポジトリーとして追加します。

--batchMode

MTA を非対話モードで実行すべきように指定するフラグ。確認をプロンプトなしで実行します。このモードは、コマンドラインに渡さないパラメーターのデフォルト値を取ります。

--debug

デバッグモードで MTA を実行するフラグ。

--disableTattletale

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

--discoverPackages

入力バイナリーアプリケーションで利用可能なパッケージをすべて表示するフラグ。

--enableClassNotFoundAnalysis

クラスパスで利用できない Java ファイルの分析を有効にするフラグ。分析時に一部のクラスが利用できない場合は、これは使用しないでください。

--enableCompatibleFilesReport

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

--enableTattletale

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

--excludePackages

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

--excludeTags

除外するタグのスペースで区切られた一覧。指定されている場合は、これらのタグを持つルールは処理されません。タグの全一覧を表示するには、--listTags 引数を使用します。

--explodedApp

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

--exportCSV

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

--help

MTA ヘルプメッセージを表示します。

--immutableAddonDir

指定したディレクトリーを、読み取り専用のアドオンリポジトリーとして追加します。

--includeTags

使用するタグのスペースで区切られたリスト。指定されると、これらのタグを持つルールのみが処理されます。タグの全一覧を表示するには、--listTags 引数を使用します。

--input

分析する 1 つ以上のアプリケーションを含むファイルまたはディレクトリーへのパスのスペースで区切られたリスト。この引数は必須です。

--install

インストールするアドオンを指定します。構文は <GROUP_ID>:<ARTIFACT_ID>[:<VERSION>] です。たとえば、--install core-addon-x または --install org.example.addon:example:1.0.0 です。

--keepWorkDirs

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

--list

インストールされたアドオンを一覧表示するフラグ。

--listSourceTechnologies

利用可能なすべてのソーステクノロジーを一覧表示するフラグ。

--listTags

使用可能なタグをすべて表示するフラグ。

--listTargetTechnologies

利用可能なすべてのターゲットテクノロジーを一覧表示するフラグ。

--mavenize

アプリケーションの構造および内容に基づいて Maven プロジェクトディレクトリー構造を作成するフラグ。これにより、適切な Java EE API とプロジェクトモジュール間の正しい依存関係を使用して pom.xml ファイルが作成されます。--mavenizeGroupId オプションも参照してください。

--mavenizeGroupId

--mavenize オプションと使用すると、生成されるすべての pom.xml ファイルは <groupId> に提供された値を使用します。この引数を省略すると、MTA はアプリケーションに基づいて適切な <groupId> を判別しようとします。または、デフォルトでは com.mycompany.mavenized に設定されます。

--online

フラグは、それを必要とする機能のネットワークアクセスを許可します。現在、外部リソースに対する XML スキーマのみの検証は、インターネットアクセスに依存します。これには、パフォーマンスの低下があることに注意してください。

--output

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

--overwrite

--output で指定された既存の出力ディレクトリーを強制的に削除するためのフラグ。この引数を指定せず、-output ディレクトリーが存在する場合は、内容を上書きするかどうかを選択するように求められます。

重要

重要な情報を含むレポート出力ディレクトリーを上書きしないでください。

--packages

MTA によって評価されるパッケージのスペース区切りの一覧。この引数を使用することは強く推奨されます。

--remove

指定したアドオンを削除します。構文は <GROUP_ID>:<ARTIFACT_ID>[:<VERSION>] です。例: --remove core-addon-x または --remove org.example.addon:example:1.0.0

--skipReports

HTML レポートが生成されないことを示すフラグ。この引数の一般的な用途は、--exportCSV を使用してレポートデータを CSV ファイルにエクスポートする場合です。

--source

移行元の 1 つ以上のソーステクノロジー、サーバー、プラットフォーム、またはフレームワークのスペース区切りの一覧。この引数は、--target 引数とともに、使用されるルールセットを判断するのに役立ちます。--listSourceTechnologies 引数を使用して、利用可能なソースを一覧表示します。

--sourceMode

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

--target

移行先の 1 つ以上のターゲットテクノロジー、サーバー、プラットフォーム、またはフレームワークのスペース区切りの一覧。この引数は、--source 引数とともに、使用されるルールセットを判断するのに役立ちます。--listTargetTechnologies 引数を使用して、利用可能なターゲットを一覧表示します。

--userIgnorePath

${user.home}/.mta/ignore/ の他に、無視すべきファイルを MTA が特定できるように場所を指定します。

--userLabelsDirectory

MTA がカスタムターゲットランタイムラベルを探す場所を指定します。値には、複数または単数のラベルファイルを含むディレクトリーを使用できます。Target Runtime Label ファイルは、.windup.label.xml 接尾辞または .mta.label.xml 接尾辞を使用する必要があります。同梱されている Target Runtime Labels は $MTA_HOME/rules/migration-core/core.windup.label.xml 内で定義されます。

--userRulesDirectory

<MTA_HOME>/rules/ および ${user.home}/.mta/rules/ に加えて、MTA がカスタム MTA ルールを探す場所を指定します。値は、単数または複数のルールセットファイルを含むディレクトリーです。ルールセットファイルには .windup.xml 接尾辞または .mta.xml 接尾辞を使用する必要があります。

--version

MTA バージョンを表示します。

A.1.1. 入力の指定

分析する 1 つ以上のアプリケーションを含むファイルまたはディレクトリーへのパスのスペースで区切られたリスト。この引数は必須です。

Usage

--input <INPUT_ARCHIVE_OR_DIRECTORY> [...]

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

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

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

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

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

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

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

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

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

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

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

Usage

--output <OUTPUT_REPORT_DIRECTORY>

  • 省略すると、レポートは <INPUT_ARCHIVE_OR_DIRECTORY>.report ディレクトリーに生成されます。
  • 出力ディレクトリーが存在する場合は、次のメッセージが表示されます (デフォルトは N)。

    Overwrite all contents of "/home/username/<OUTPUT_REPORT_DIRECTORY>" (anything already in the directory will be deleted)? [y,N]

ただし、--overwrite 引数を指定すると、MTA はディレクトリーの削除と再作成を続行します。詳細は、この引数の説明を参照してください。

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

移行元の 1 つ以上のソーステクノロジー、サーバー、プラットフォーム、またはフレームワークのスペース区切りの一覧。この引数は、--target 引数とともに、使用されるルールセットを判断するのに役立ちます。--listSourceTechnologies 引数を使用して、利用可能なソースを一覧表示します。

Usage

--source <SOURCE_1> <SOURCE_2>

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

警告

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

JBoss EAP バージョンに適した Introduction to the Migration Toolkit for Applications の「 https://access.redhat.com/documentation/en-us/migration_toolkit_for_applications/5.1/html-single/introduction_to_the_migration_toolkit_for_applications/index#migration_paths_getting-started-guide サポートされる移行パス 」を参照してください。

A.1.4. ターゲットテクノロジーの設定

移行先の 1 つ以上のターゲットテクノロジー、サーバー、プラットフォーム、またはフレームワークのスペース区切りの一覧。この引数は、--source 引数とともに、使用されるルールセットを判断するのに役立ちます。このオプションを指定しないと、ターゲットを選択するように求められます。--listTargetTechnologies 引数を使用して、利用可能なターゲットを一覧表示します。

Usage

--target <TARGET_1> <TARGET_2>

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

警告

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

JBoss EAP バージョンに適した Introduction to the Migration Toolkit for Applications の「 https://access.redhat.com/documentation/en-us/migration_toolkit_for_applications/5.1/html-single/introduction_to_the_migration_toolkit_for_applications/index#migration_paths_getting-started-guide サポートされる移行パス 」を参照してください。

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

MTA によって評価されるパッケージのスペース区切りの一覧。この引数を使用することは強く推奨されます。

使用方法

--packages <PACKAGE_1> <PACKAGE_2> <PACKAGE_N>

  • 多くの場合、関心があるのは、カスタムアプリケーションクラスパッケージの評価で、標準のJava EE パッケージやサードパーティのパッケージではありません。<PACKAGE_N> 引数はパッケージ接頭辞で、すべてのサブパッケージがスキャンされます。たとえば、パッケージ com.mycustomapp および com.myotherapp をスキャンするには、コマンドラインで --packages com.mycustomapp com.myotherapp 引数を使用します。
  • org.apache などの標準の Java EE サードパーティーソフトウェアにパッケージ名を指定することはできますが、通常は移行作業に影響しないため、追加しないことが推奨されます。
警告

--packages 引数を省略すると、アプリケーションのすべてのパッケージがスキャンされ、パフォーマンスに影響を及ぼす可能性があります。この引数には、1 つ以上のパッケージを指定することが推奨されます。