付録A 参考資料
A.1. MTR コマンドライン引数
以下は、利用可能な MTR コマンドライン引数の詳細な説明です。
スクリプトから実行した場合など、プロンプトを表示せずに MTR コマンドを実行するには、以下の引数を使用する必要があります。
-
--batchMode
-
--overwrite
-
--input
-
--target
引数 | 説明 |
---|---|
--additionalClassPath | クラスパスに追加する追加の JAR ファイルまたはディレクトリーのスペース区切りリスト。逆コンパイルやその他の解析に使用できます。 |
--addonDir | 指定したディレクトリーをカスタムアドオンリポジトリーとして追加します。 |
--analyzeKnownLibraries | アプリケーション内に埋め込まれた既知のソフトウェアアーティファクトを分析するフラグ。デフォルトでは、MTR はアプリケーションコードのみを分析します。 注記 このオプションを使用すると実行時間が長くなり、多数の移行問題が報告される可能性があります。 |
--batchMode | MTR を非対話モードで実行すべきように指定するフラグ。確認をプロンプトなしで実行します。このモードは、コマンドラインに渡さないパラメーターのデフォルト値を取ります。 |
--debug | デバッグモードで MTR を実行するフラグ。 |
--disableTattletale |
Tattletale レポートの生成を無効にするフラグ。 |
--discoverPackages | 入力バイナリーアプリケーションで利用可能なパッケージをすべて表示するフラグ。 |
--enableClassNotFoundAnalysis | クラスパスで利用できない Java ファイルの分析を有効にするフラグ。分析時に一部のクラスが利用できない場合は、これは使用しないでください。 |
--enableCompatibleFilesReport | Compatible Files レポートの生成を有効にするフラグ。問題が検出されない状態ですべてのファイルを処理するため、このレポートには大規模なアプリケーションの処理に時間がかかる場合があります。 |
--enableTattletale |
各アプリケーションの Tattletale レポートの生成を有効にするフラグ。このオプションは、 |
--enableTransactionAnalysis |
[テクノロジープレビュー] リレーショナルデータベーステーブルで操作を実行するコールスタックを表示するトランザクションレポートの生成を有効にするフラグ。Enable Transaction Analysis 機能は、Spring Data JPA と、SQL ステートメント実行用の従来の 注記 enableTransactionAnalysis はテクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。 |
--excludePackages |
評価から除外するパッケージのスペース区切りの一覧。たとえば、 |
--excludeTags |
除外するタグのスペースで区切られた一覧。指定されている場合は、これらのタグを持つルールは処理されません。タグの全一覧を表示するには、 |
--explodedApp | 指定された入力ディクショナリーに 1 つののアプリケーションのソースファイルが含まれていることを示すフラグ。 |
--exportCSV |
レポートデータをローカルファイルシステムの CSV ファイルにエクスポートするフラグ。MTR は、 |
--help | MTR ヘルプメッセージを表示します。 |
--immutableAddonDir | 指定したディレクトリーを、読み取り専用のアドオンリポジトリーとして追加します。 |
--includeTags |
使用するタグのスペースで区切られたリスト。指定されると、これらのタグを持つルールのみが処理されます。タグの全一覧を表示するには、 |
--input | 分析する 1 つ以上のアプリケーションを含むファイルまたはディレクトリーへのパスのスペースで区切られたリスト。この引数は必須です。 |
--install |
インストールするアドオンを指定します。構文は |
--keepWorkDirs | グラフデータベースや展開されたアーカイブファイルなどの一時作業ファイルを削除しないように MTR に指示するフラグ。これはデバッグに役立ちます。 |
--list | インストールされたアドオンを一覧表示するフラグ。 |
--listSourceTechnologies | 利用可能なすべてのソーステクノロジーを一覧表示するフラグ。 |
--listTags | 使用可能なタグをすべて表示するフラグ。 |
--listTargetTechnologies | 利用可能なすべてのターゲットテクノロジーを一覧表示するフラグ。 |
--mavenize |
アプリケーションの構造および内容に基づいて Maven プロジェクトディレクトリー構造を作成するフラグ。これにより、適切な Java EE API とプロジェクトモジュール間の正しい依存関係を使用して |
--mavenizeGroupId |
|
--online | フラグは、それを必要とする機能のネットワークアクセスを許可します。現在、外部リソースに対する XML スキーマのみの検証は、インターネットアクセスに依存します。これには、パフォーマンスの低下があることに注意してください。 |
--output | MTR が生成したレポート情報を出力するディレクトリーへのパスを指定します。 |
--overwrite |
重要 重要な情報を含むレポート出力ディレクトリーを上書きしないでください。 |
--packages | MTR によって評価されるパッケージのスペース区切りの一覧。この引数を使用することは強く推奨されます。 |
--remove |
指定したアドオンを削除します。構文は |
--skipReports |
HTML レポートが生成されないことを示すフラグ。この引数の一般的な用途は、 |
--source |
移行元の 1 つ以上のソーステクノロジー、サーバー、プラットフォーム、またはフレームワークのスペース区切りの一覧。この引数は、 |
--sourceMode | 評価するアプリケーションに、コンパイルされたバイナリーではなくソースファイルが含まれていることを示すフラグ。sourceMode 引数は廃止されました。そのため、指定する必要がなくなりました。MTR は、提示された入力を直感的に処理できます。さらに、プロジェクトソースフォルダーは、同じ分析実行内でバイナリー入力を使用して分析できます。 |
--target |
移行先の 1 つ以上のターゲットテクノロジー、サーバー、プラットフォーム、またはフレームワークのスペース区切りの一覧。この引数は、 |
--userIgnorePath |
|
--userLabelsDirectory |
MTR がカスタムターゲットランタイムラベルを探す場所を指定します。値には、複数または単数のラベルファイルを含むディレクトリーを使用できます。ターゲットランタイムラベルファイルでは、 |
--userRulesDirectory |
|
--version | MTR バージョンを表示します。 |
A.1.1. 入力の指定
分析する 1 つ以上のアプリケーションを含むファイルまたはディレクトリーへのパスのスペースで区切られたリスト。この引数は必須です。
使用方法
--input <INPUT_ARCHIVE_OR_DIRECTORY> [...]
--input
引数に指定された入力ファイルタイプがファイルであるかディクショナリーであるかに応じて、指定された追加の引数に応じて次のように評価されます。
- ディレクトリー
--explodedApp --sourceMode 引数なし ディレクトリーは 1 つのアプリケーションとして評価されます。
ディレクトリーは 1 つのアプリケーションとして評価されます。
各サブディレクトリーはアプリケーションとして評価されます。
- ファイル
--explodedApp --sourceMode 引数なし 引数は無視されます。ファイルは 1 つのアプリケーションとして評価されます。
ファイルは圧縮プロジェクトとして評価されます。
ファイルは 1 つアプリケーションとして評価されます。
A.1.2. 出力ディレクトリーの指定
MTR が生成したレポート情報を出力するディレクトリーへのパスを指定します。
使用方法
--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
引数を指定すると、MTR はディレクトリーの削除と再作成を続行します。詳細は、この引数の説明を参照してください。
A.1.3. ソーステクノロジーの設定
移行元の 1 つ以上のソーステクノロジー、サーバー、プラットフォーム、またはフレームワークのスペース区切りの一覧。この引数は、--target
引数とともに、使用されるルールセットを判断するのに役立ちます。--listSourceTechnologies
引数を使用して、利用可能なソースを一覧表示します。
使用方法
--source <SOURCE_1> <SOURCE_2>
--source
引数は、Maven バージョン範囲の構文 に続くバージョンサポートを提供するようになりました。これにより、指定されたバージョンに一致するルールセットのみを実行するように MTR が指示されます。例: --source eap:5
JBoss EAP に移行する場合、バージョン (例: eap:6
) を指定してください。eap
のみを指定すると、移行パスに関連しないものを含め、すべてのバージョンの JBoss EAP にルールセットが実行されます。
JBoss EAP バージョンに適した Migration Toolkit for Runtimes の概要 の サポートされる移行パス を参照してください。
A.1.4. ターゲットテクノロジーの設定
移行先の 1 つ以上のターゲットテクノロジー、サーバー、プラットフォーム、またはフレームワークのスペース区切りの一覧。この引数は、--source
引数とともに、使用されるルールセットを判断するのに役立ちます。このオプションを指定しないと、ターゲットを選択するように求められます。--listTargetTechnologies
引数を使用して、利用可能なターゲットを一覧表示します。
使用方法
--target <TARGET_1> <TARGET_2>
--target
引数は、Maven バージョン範囲の構文 に続くバージョンサポートを提供するようになりました。これにより、指定されたバージョンに一致するルールセットのみを実行するように MTR が指示されます。例: --target eap:7
JBoss EAP に移行する場合は、必ずバージョンをターゲットに指定してください (例: eap:6
)。eap
のみを指定すると、移行パスに関連しないものを含め、すべてのバージョンの JBoss EAP にルールセットが実行されます。
JBoss EAP バージョンに適した Migration Toolkit for Runtimes の概要 の サポートされる移行パス を参照してください。
A.1.5. パッケージの選択
MTR によって評価されるパッケージのスペース区切りの一覧。この引数を使用することは強く推奨されます。
使用方法
--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
引数を省略すると、アプリケーションのすべてのパッケージがスキャンされ、パフォーマンスに影響を及ぼす可能性があります。