Eclipse および Red Hat CodeReady Studio ガイド
Eclipse または Red Hat CodeReady Studio の MTR プラグインでアプリケーションを分析して、移行の問題を特定し、解決します。
概要
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 はじめに
1.1. Eclipse および Red Hat CodeReady Studio の MTR プラグインについて
Eclipse および Red Hat CodeReady Studio の Migration Toolkit for Runtimes (MTR) プラグインを使用すると、アプリケーションの移行およびモダナイゼーションが可能になります。
MTR プラグインは、カスタマイズ可能なルールセットを使用してプロジェクトを分析し、ソースコード内の問題をマークし、問題を修正するためのガイダンスを提供し、可能な場合は自動コードの置き換えを提供します。
1.2. Migration Toolkit for Runtimes
Migration Toolkit for Runtimes とは
Migration Toolkit for Runtimes (MTR) は、Java アプリケーションの移行およびモダナイゼーションを簡素化する拡張可能でカスタマイズ可能なルールベースのツールです。
MTR は、プロジェクトソースディレクトリーやアプリケーションアーカイブを含むアプリケーションアーティファクトを検査し、変更を必要とするエリアを強調表示する HTML レポートを作成します。MTR は、以下の例を含む多くの移行パスをサポートします。
- Red Hat JBoss Enterprise Application Platform の最新リリースへのアップグレード
- Oracle WebLogic または IBM WebSphere Application Server から Red Hat JBoss Enterprise Application Platform への移行
- アプリケーションのコンテナー化とクラウド化
- Java Spring Boot から Quarkus への移行
- Oracle JDK から OpenJDK への更新
- OpenJDK 8 から OpenJDK 11 へのアップグレード
- OpenJDK11 から OpenJDK 17 へのアップグレード
- EAP Java アプリケーションの Azure への移行
- Spring Boot Java アプリケーションの Azure への移行
ユースケースおよび移行パスの詳細は、開発者向け MTR Web ページを参照してください。
Migration Toolkit for Runtimes を使用して移行を単純化する方法
Migration Toolkit for Runtimes は一般的なリソースを探し、アプリケーションを移行する際の既知の問題点を明らかにします。これは、アプリケーションが使用するテクノロジーのハイレベルビューを提供します。
MTR は、移行またはモダナイゼーションパスの評価に関する詳細なレポートを生成します。このレポートは、大規模なプロジェクトに必要な作業を見積もり、関係する作業を減らすのに役立ちます。
詳細情報
Migration Toolkit for Runtimes の機能、サポートされる設定、システム要件、利用可能なツールの詳細は、Migration Toolkit for Runtimes の概要 を参照してください。
第2章 MTR プラグインのインストール
接続されているネットワーク環境またはネットワークが制限された環境に MTR プラグインをインストールできます。
2.1. 接続環境でのインストール
接続されている環境に MTR プラグインをインストールできます。
MTR プラグインは、Java Enterprise Developers 2022-03 および Red Hat CodeReady Studio 12.21.3.GA の Eclipse IDE でテストされています。
前提条件
Java Development Kit(JDK) がインストールされている。MTR は以下の JDK をサポートする。
- OpenJDK 11
- Oracle JDK 11
- 8 GB RAM
-
macOS のインストール:
maxproc
の値は2048
以上である必要がある。 - Red Hat CodeReady Studio または Eclipse IDE for Java Enterprise Developers 2022-03
- Eclipse Marketplace クライアント と共にインストールされた JBoss Tools。
- Eclipse と共にインストールされた Mylyn SDK およびフレームワーク
手順
- Eclipse または CodeReady Studio を起動します。
- メニューバーから Help → Install New Software を選択します。
- Work with フィールドの横にある Add をクリックします。
-
Name フィールドに
MTR
を入力します。 -
Location フィールドに
http://download.jboss.org/jbosstools/photon/stable/updates/mtr/
を入力し、OK をクリックします。 - すべての JBoss Tools - MTR チェックボックスを選択して、Next をクリックします。
- インストールの詳細を確認し、Next をクリックします。
- ライセンス契約の条件に同意し、Finish をクリックします。
- Eclipse または CodeReady Studio を再起動します。
2.2. 非接続環境でのインストール
MTR プラグインは、ネットワークに接続されていない環境にインストールできます。
MTR プラグインは、Java Enterprise Developers 2022-03 および Red Hat CodeReady Studio 12.21.3.GA の Eclipse IDE でテストされています。
前提条件
Java Development Kit(JDK) がインストールされている。MTR は以下の JDK をサポートする。
- OpenJDK 11
- Oracle JDK 11
- 8 GB RAM
-
macOS のインストール:
maxproc
の値は2048
以上である必要がある。 - Red Hat CodeReady Studio または Eclipse IDE for Java Enterprise Developers 2022-03
- Eclipse Marketplace クライアント と共にインストールされた JBoss Tools。
- Eclipse と共にインストールされた Mylyn SDK およびフレームワーク
- すべてのダウンロードに接続されたワークステーション
手順
-
ネットワークアクセスのあるコンピューターで、Migration Toolkit for Runtimes の ダウンロードサイト に移動し、
migrationtoolkit-mtr-eclipse-plugin-repository
ファイルをダウンロードします。 - Eclipse または CodeReady Studio を起動します。
- メニューバーから Help → Install New Software を選択します。
- Work with フィールドの横にある Add をクリックします。
-
Name フィールドに
MTR
を入力します。 - Location フィールドの横にある Archive をクリックします。
-
migrationtoolkit-mtr-eclipse-plugin-repository
ファイルを選択し、OK をクリックします。 - すべての JBoss Tools - MTR チェックボックスを選択して、Next をクリックします。
- インストールの詳細を確認し、Next をクリックします。
- ライセンス契約の条件に同意し、Finish をクリックします。
- Eclipse または CodeReady Studio を再起動します。
2.3. MTR ツールへのアクセス
MTR パースペクティブで MTR プラグインツールにアクセスできます。
前提条件
- MTR プラグインをインストールした後に、Eclipse IDE または Red Hat CodeReady Studio を再起動する必要がある。
手順
- Window → Perspective → Open Perspective → Other をクリックします。
MTR を選択して OK をクリックします。
以下のコンポーネントが表示されます。
- Issue Explorer は、MTR プラグインで識別される移行の問題を表示します。
MTR Server は、プロジェクトを分析し、移行の問題にフラグを立て、レポートを生成する別個のプロセスです。
Issue Explorer で MTR サーバーの開始、停止、およびステータス表示を行うことができます。
- Issue Details には、ヒント、重大度、追加のリソースなど、選択した問題に関する詳細情報が表示されます。
MTR レポート は、MTR プラグインによって生成される HTML レポートです。レポートのランディングページから、アプリケーションの詳細、問題、依存関係などの詳細なレポートに移動できます。
注記デフォルトでは、レポートは生成されません。実行設定で Generate Report オプションを選択する必要があります。
第3章 MTRプラグインを使用したプロジェクトの分析
MTR プラグインでプロジェクトを分析するには、実行設定を作成し、分析を実行して、MTR プラグインによって検出される移行の問題を確認し、解決します。
3.1. 実行設定の作成
Issue Explorer で実行設定を作成できます。実行設定では、分析するプロジェクト、移行パス、および追加オプションを指定します。
複数の実行設定を作成できます。実行設定にはそれぞれ一意の名前を指定する必要があります。
前提条件
- プロジェクトを Eclipse IDE または CodeReady Studio にインポートする必要があります。
手順
-
Issue Explorer で MTR アイコン (
) をクリックし、実行設定を作成します。
入力 タブで、以下のフィールドを入力します。
- 移行パスを選択します。
- Projects フィールドの横にある Add をクリックし、1 つ以上のプロジェクトを選択します。
Packages フィールドの横にある Add をクリックし、パッケージを 1 つまたは複数選択します。
注記分析するパッケージを指定すると、ランタイム時間が短縮されます。パッケージを選択しないと、プロジェクト内のすべてのパッケージがスキャンされます。
Options タブで Generate Report を選択し、HTML レポートを生成することができます。レポートは Report タブに表示され、ファイルとして保存されます。
その他のオプションが表示されます。詳細は、CLI ガイドの MTR コマンドライン引数 を参照してください。
- Rules タブで、MTR プラグインにインポートまたは作成したカスタムルールセットを選択できます。
- 実行 をクリックして分析を開始します。
3.2. プロジェクトの分析
保存した実行設定で MTR プラグインを実行することで、プロジェクトを分析できます。
手順
MTR パースペクティブで、Run ボタン (
) をクリックし、実行設定を選択します。
MTR プラグインはプロジェクトを分析します。Issue Explorer は、ルールセットで検出された移行の問題を表示します。
- プロジェクトの分析が終了したら、Issue Explorer で MTR サーバーを停止して、メモリーを節約します。
3.3. 問題の確認
MTR プラグインによって特定された問題を確認できます。
手順
- Window → Show View → Issue Explorer をクリックします。
オプション: Options メニュー
をクリックし、Group By およびオプションを選択して問題をフィルタリングします。
右クリックし、Issue Details を選択して問題についての情報を表示します。これには、重大度や対処方法が含まれます。
以下のアイコンは、問題の重大度および状態を示しています。
表3.1 問題アイコン アイコン 説明 移行を成功させるには、この問題を修正する必要があります。
移行については、この問題の修正は任意となります。
この問題は、移行時に対処する必要がある場合があります。
この問題は解決されています。
この問題は古くなっています。問題としてマークされたコードは、MTR が最後に問題として識別したときから変更されています。
この問題にはクイック修正を利用できます。正常に移行するには修正は必須となります。
この問題にはクイック修正を利用できます。移行については、修正は任意となります。
この問題にはクイック修正を利用できます。これは、移行中に問題が発生する可能性があります。
- 問題をダブルクリックして、エディターでコードの関連する行を開きます。
3.4. 問題の解決
以下のアクションのいずれかを実行して、MTR プラグインによって検出された問題を解決できます。
問題をダブルクリックしてエディターで開き、ソースコードを編集できます。
この問題は、次に MTR プラグインを実行するまで Stale アイコン (
) が表示されます。
- 問題を右クリックし、Mark as Fixed を選択します。
-
問題にクイック修正アイコン (
) が表示される場合には、問題を右クリックし、Preview Quick Fix を選択してから Apply Quick Fix を選択します。
第4章 ルールの管理
MTR プラグインには、プロジェクトを分析し、移行およびモダナイゼーションの問題を特定するための システム ルールのコアセットが含まれています。
カスタムルールセットを作成してインポートできます。
4.1. ルールの表示
MTR プラグインで、システムおよびカスタムルールが存在する場合は、それを表示できます。
前提条件
- システムルールを表示するには、MTR サーバーが実行している必要がある。
手順
- Rulesets タブをクリックします。
- System を展開して、システムのルールセットまたは Custom を表示してカスタムルールセットを表示します。
- ルールセットを展開します。
- ルールをダブルクリックして、ビューアーで開きます。
- Source タブをクリックして、ルールの XML ソースを表示します。
4.2. カスタムルールセットの作成
MTR パースペクティブでカスタムルールセットを作成できます。
カスタム XML ルールの作成に関する詳細は、ルール開発ガイド を参照してください。
手順
- Rulesets タブをクリックします。
-
ルールセットの作成アイコン (
) をクリックします。
- ルールセットのプロジェクトおよびディレクトリーを選択します。
ファイル名を入力します。
注記ファイルには拡張子
.windup.xml
が必要です。-
ruleset ID (
my-ruleset-id
など) を入力します。 - オプション: Generate quickstart template を選択し、基本的なルールテンプレートをファイルに追加します。
- Finish をクリックします。
- エディターでルールセットファイルが開かれ、ルールを追加および編集できます。
- Source タブをクリックして、ルールセットファイルの XML ソースを編集します。
実行設定の作成時に、新しいルールセットを選択できます。
4.3. カスタムルールセットのインポート
カスタムルールセットを MTR プラグインにインポートして、プロジェクトを分析できます。
前提条件
拡張子が
.windup.xml
のカスタムルールセットファイル。ルールセットの作成に関する詳細は、ルール開発ガイド を参照すること。
手順
- Rulesets タブをクリックします。
-
ルールセットのインポートアイコン (
) をクリックします。
インポートする XML ルールファイルを参照して選択します。
Rulesets タブで Custom を拡張すると、カスタムルールセットが表示されます。
4.4. カスタムルールセットの送信
公式の MTR ルールリポジトリーに組み込むカスタムルールセットを送信できます。これにより、カスタムルールを確認して、MTR の後続のリリースに含めることができます。
手順
- Rulesets タブをクリックします。
-
矢印アイコン (
) をクリックし、Submit Ruleset を選択します。
以下のフィールドに入力します。
- Summary: ルールの目的を説明します。これは送信時のタイトルになります。
- Code Sample: ルールが実行するソースコードの例を入力します。
- Description: ルールの簡単な説明を入力します。
- Choose Files をクリックし、ルールセットファイルを選択します。
- Submit をクリックします。