付録A 参考資料
A.1. Maven プラグイン引数について
以下は、利用可能な MTR Maven プラグイン引数の詳細な説明です。
引数 | 説明 |
---|---|
analyzeKnownLibraries | アプリケーション内に埋め込まれた既知のソフトウェアアーティファクトを分析するフラグ。デフォルトでは、MTR はアプリケーションコードのみを分析します。 注記 このオプションを使用すると実行時間が長くなり、多数の移行問題が報告される可能性があります。 |
customLoggingPropertiesFile |
|
disableTattletale |
Tattletale レポートの生成を無効にするフラグ。 |
enableCompatibleFilesReport | Compatible Files レポートの生成を有効にするフラグ。問題が検出されない状態ですべてのファイルを処理するため、このレポートには大規模なアプリケーションの処理に時間がかかる場合があります。 |
enableTattletale |
各アプリケーションの Tattletale レポートの生成を有効にするフラグ。このオプションは、 |
enableTransactionAnalysis |
[テクノロジープレビュー] リレーショナルデータベーステーブルで操作を実行するコールスタックを表示するトランザクションレポートの生成を有効にするフラグ。Enable Transaction Analysis 機能は、Spring Data JPA と、SQL ステートメント実行用の従来の 注記 enableTransactionAnalysis はテクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。 |
excludePackages | 評価から除外するパッケージの一覧たとえば、com.mycompany.commonutilities と入力すると、パッケージ名が com.mycompany.commonutilities で始まるクラスをすべて除外します。 |
excludeTags | 除外するタグの一覧。指定されている場合は、これらのタグを持つルールは処理されません。 |
explodedApps | 指定された入力ディクショナリーに 1 つののアプリケーションのソースファイルが含まれていることを示すフラグ。 |
exportCSV |
レポートデータをローカルファイルシステムの CSV ファイルにエクスポートするフラグ。MTR は、 |
includeTags | 使用するタグの一覧。指定されると、これらのタグを持つルールのみが処理されます。 |
inputDirectory |
分析するアプリケーションが含まれるディレクトリーへのパスを指定します。この引数はデフォルトで |
keepWorkDirs | グラフデータベースや展開されたアーカイブなどの一時作業ファイルを削除しないように MTR に指示するフラグ。これはデバッグに役立ちます。 |
packages | MTR によって評価されるパッケージの一覧。この引数は必須です。 |
offlineMode | フラグはオフラインモードで動作し、スキームの検証などのネットワークアクセス機能を無効にします。パフォーマンスの向上に使用します。 |
outputDirectory |
MTR が生成したレポート情報を出力するディレクトリーへのパスを指定します。この引数はデフォルトで |
overwrite |
警告 重要な情報が含まれるレポート出力ディレクトリーを指定しないでください。 |
sourceTechnologies |
移行元となる 1 つ以上のソーステクノロジー、サーバー、プラットフォーム、またはフレームワークの一覧。この引数は、 |
sourceMode |
評価するアプリケーションに、コンパイルされたバイナリーではなくソースファイルが含まれていることを示すフラグ。デフォルトは |
targetTechnologies |
移行先の 1 つ以上のターゲットテクノロジー、サーバー、プラットフォーム、またはフレームワークの一覧。この引数は、 |
userIgnorePath | 無視する必要があるファイルを識別するために、MTR の場所を指定します。 |
userRulesDirectory |
MTR がカスタム MTR ルールを検索する場所を指定します。値は、単数または複数のルールセットファイルを含むディレクトリーです。ルールセットファイルでは、 |
windupHome | 抽出した MTR CLI の root を参照するオプションの引数。CLI のローカルインストールを参照すると、Maven プラグインはすべてのインデックスに直接アクセスできるため、パフォーマンスが向上します。 |
windupVersion | 実行する MTR のバージョンを指定します。デフォルトでは、これは 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. 出力ディレクトリーの指定
MTR が生成したレポート情報を出力するディレクトリーへのパスを指定します。
用途
<outputDirectory> <OUTPUT_REPORT_DIRECTORY> </outputDirectory>
-
省略すると、レポートは
{project.build.directory}/windup-report
ディレクトリーに生成されます。 -
出力ディレクトリーが存在する場合は、
overwrite
引数の値に基づいて上書きされます。この引数はデフォルトでtrue
で、MTR はディレクトリーを削除し、再作成します。
A.1.4. ソーステクノロジーの設定
移行元となる 1 つ以上のソーステクノロジー、サーバー、プラットフォーム、またはフレームワークの一覧。この引数は、targetTechnologies
引数とともに、使用されるルールセットを判断するのに役立ちます。
使用方法
<sourceTechnologies> <source>eap:6</source> </sourceTechnologies>
sourceTechnologies
引数は、Maven バージョン範囲の構文 に続くバージョンサポートを提供するようになりました。これにより、指定されたバージョンに一致するルールセットのみを実行するように MTR が指示されます。たとえば、<source>eap:5</source>
です。
A.1.5. ターゲット引数の設定
移行先の 1 つ以上のターゲットテクノロジー、サーバー、プラットフォーム、またはフレームワークの一覧。この引数は、sourceTechnologies
引数とともに、使用されるルールセットを判断するのに役立ちます。この引数は必須です。
使用方法
<targetTechnologies> <target>eap:7</target> </targetTechnologies>
targetTechnologies
引数は、Maven バージョン範囲の構文 に続くバージョンサポートを提供するようになりました。これにより、指定されたバージョンに一致するルールセットのみを実行するように MTR が指示されます。たとえば、<target>eap:7</target>
です。
JBoss EAP に移行する場合は、必ずバージョンをターゲットに指定してください (例: eap:6
)。eap
のみを指定すると、移行パスに関連しないものを含め、すべてのバージョンの JBoss EAP にルールセットが実行されます。
JBoss EAP バージョンに適した Migration Toolkit for Runtimes の概要 の サポートされる移行パス を参照してください。
A.1.6. パッケージの選択
MTR によって評価されるパッケージの一覧。この引数を使用することは強く推奨されます。
使用方法
<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 サードパーティーソフトウェアにパッケージ名を指定することはできますが、通常は移行作業に影響しないため、追加しないことが推奨されます。