2.2. CLI の実行


アプリケーションに対して MTA を実行できます。

手順

  1. ターミナルを開き、<MTA_HOME>/bin/ ディレクトリーに移動します。
  2. Windows の場合は windup-cli スクリプトまたは windup-cli.bat を実行し、適切な引数を指定します。

    $ ./windup-cli --input /path/to/jee-example-app-1.0.0.ear \
        --output /path/to/output --source weblogic --target eap:6 \
        --packages com.acme org.apache
    Copy to Clipboard Toggle word wrap
    • --input: 評価されるアプリケーション。
    • --output: 生成されたレポートの出力ディレクトリー。
    • --source: アプリケーション移行元のテクノロジー。
    • --target: アプリケーション移行先のテクノロジー。
    • --packages: 評価されるパッケージ。この引数は、パフォーマンスを改善するために強く推奨されます。
  3. レポートにアクセスします。

2.2.1. MTA コマンドの例

アプリケーションアーカイブでの MTA の実行

次のコマンドは、JBoss EAP 5 から JBoss EAP 7 に移行するための サンプル EAR アーカイブ jee-example-app-1.0.0.earcom.acme パッケージおよび org.apache パッケージを解析します。

$ <MTA_HOME>/bin/windup-cli \
    --input /path/to/jee-example-app-1.0.0.ear \
    --output /path/to/report-output/ --source eap:5 --target eap:7 \
    --packages com.acme org.apache
Copy to Clipboard Toggle word wrap
ソースコードでの MTA の実行

次のコマンドは、JBoss EAP 6 に移行するための seam-booking-5.2 サンプルソースコードの org.jboss.seam パッケージを分析します。

$ <MTA_HOME>/bin/windup-cli --sourceMode --input /path/to/seam-booking-5.2/ \
    --output /path/to/report-output/ --target eap:6 --packages org.jboss.seam
Copy to Clipboard Toggle word wrap
cloud-readiness ルールの実行

次のコマンドは、JBoss EAP 7 に移行するためのサンプル EAR アーカイブ jee-example-app-1.0.0.earcom.acme パッケージおよび org.apache パッケージを解析します。また、クラウドの準備ができるかどうかも評価します。

$ <MTA_HOME>/bin/windup-cli --input /path/to/jee-example-app-1.0.0.ear \
    --output /path/to/report-output/ \
    --target eap:7 --target cloud-readiness --packages com.acme org.apache
Copy to Clipboard Toggle word wrap
MTA プロパティーの上書き

デフォルトの Fernflower デコンパイラーを上書きするには、コマンドラインで -Dwindup.decompiler 引数を渡します。たとえば、Procyon デコンパイル機能を使用する場合は、以下の構文を使用します。

$ <MTA_HOME>/bin/windup-cli -Dwindup.decompiler=procyon \
    --input <INPUT_ARCHIVE_OR_DIRECTORY> --output <OUTPUT_REPORT_DIRECTORY> \
    --target <TARGET_TECHNOLOGY> --packages <PACKAGE_1> <PACKAGE_2>
Copy to Clipboard Toggle word wrap

2.2.2. MTA CLI Bash の完了

MTA CLI は、Linux システムの Bash 補完を有効にするオプションを提供し、コマンドを入力した時に Tab キーを押して MTA コマンドライン引数を自動化できます。たとえば、bash 補完を有効にすると、以下のように利用可能な引数のリストが表示されます。

$ <MTA_HOME>/bin/windup-cli [TAB]
Copy to Clipboard Toggle word wrap
bash 補完の有効化

現在のシェルで bash 補完を有効にするには、以下のコマンドを実行します。

$ source <MTA_HOME>/bash-completion/windup-cli
Copy to Clipboard Toggle word wrap
永続的な bash 補完の有効化

以下のコマンドを使用すると、再起動後も bash 補完が維持されます。

  • システムを再起動しても特定のユーザーの bash 補完を有効にするには、そのユーザーの ~/.bashrc ファイルに以下の行を追加します。

    source <MTA_HOME>/bash-completion/windup-cli
    Copy to Clipboard Toggle word wrap
  • システムの再起動後すべてのユーザーの bash 補完を有効にするには、root ユーザーで Migration Toolkit for Applications CLI Bash 補完ファイルを /etc/bash_completion.d/ ディレクトリーにコピーします。

    # cp <MTA_HOME>/bash-completion/windup-cli /etc/bash_completion.d/
    Copy to Clipboard Toggle word wrap

2.2.3. MTA ヘルプへのアクセス

windup-cli コマンドで利用可能な引数の完全な一覧を表示するには、ターミナルを開き、<MTA_HOME> ディレクトリーに移動して、以下のコマンドを実行します。

$ <MTA_HOME>/bin/windup-cli --help
Copy to Clipboard Toggle word wrap

2.2.4. OpenRewrite レシピの使用

重要

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

テクノロジープレビュー機能のサポート範囲については、Red Hat カスタマーポータルの テクノロジープレビュー機能のサポート範囲 を参照してください。

MTA CLI で OpenRewrite レシピを使用すると、Java アプリケーションのソースコードをリファクタリングできます。

たとえば、OpenRewrite レシピの org.jboss.windup.JavaxToJakarta は、インポートされた javax パッケージの名前を同等の jakarta に変更します。

手順

  1. windup-cli を実行し、レシピ名、設定ファイルへのパス、およびアプリケーションを指定します。

    $ ./windup-cli --openrewrite --input </path/to/source/project> \
      "-Drewrite.configLocation=<path/to/rewrite.yaml>"  \
      "-DactiveRecipes=<recipe_name>" --goal dryRun
    Copy to Clipboard Toggle word wrap
    • "-DactiveRecipes=<recipe name>": OpenRewrite recipe を指定します (例: org.jboss.windup.JavaxToJakarta)。
    • --input: リファクタリングするアプリケーションを指定します。アプリケーションは、Maven Project Object Model (POM) XML ファイル pom.xml を含むソースコードプロジェクトの最上位にある必要があります。
    • -Drewrite.configLocation=<path/to/rewrite.yaml> : 使用する rewrite.yaml 設定ファイルの場所。同梱の rewrite.yaml 設定ファイルは、<MTA_HOME>/rules/openrewrite サブフォルダーにあります (例: " -Drewrite.configLocation=<MTA_HOME>/rules/openrewrite/jakarta/javax/imports/rewrite.yaml")
    • "-DactiveRecipes=<recipe name& gt;" : OpenRewrite recipe を指定します (例: org.jboss.windup.JavaxToJakarta)。

      activeRecipes パラメーターでそれぞれを指定すると、複数のレシピを含めることができます。たとえば、レシピ org.jboss.windup.JavaxInjectToJakartaInjectorg.jboss.windup.JavaxEjbToJakartaEjb" を含めるには、"-DactiveRecipes=<recipe name>" で以下を入力します。

        "-DactiveRecipes=org.jboss.windup.JavaxInjectToJakartaInject, \
          org.jboss.windup.JavaxEjbToJakartaEjb"
      Copy to Clipboard Toggle word wrap
    • --goal: オプション: 実行する OpenRewrite Maven ゴール。

      • dryRun: スクリプトは、提案される変更のリストを返します。"Run 'mvn rewrite:run' to apply the recipes" メッセージは無視します。
      • run: スクリプトは変更を適用します。
  2. --goal run を指定して windup-cli を実行し、レシピを適用します。

    $ ./windup-cli --openrewrite --input </path/to/source/project> \
      "-Drewrite.configLocation=<path/to/rewrite.yaml>"  \
      "-DactiveRecipes=<recipe_name>" --goal run
    Copy to Clipboard Toggle word wrap

2.2.4.1. 利用可能な OpenRewrite レシピ

Expand
表2.1 利用可能な OpenRewrite レシピ
移行パス目的rewrite.configLocationactiveRecipes

Java EE から Jakarta EE

javax パッケージのインポートを同等の jakarta パッケージに置き換える

pom.xml ファイル内で宣言された javax アーティファクトを jakarta と同等のものに置き換える

<MTR_HOME>/rules/openrewrite/jakarta \ /javax/imports/rewrite.yml

org.jboss.windup.JavaxToJakarta

Java EE から Jakarta EE

ブートストラップファイルの名前を変更する

<MTR_HOME>/rules/openrewrite/jakarta \ /javax/bootstrapping/rewrite.yml

org.jboss.windup.jakarta.javax. \ BootstrappingFiles

Java EE から Jakarta EE

persistence.xml 設定を変換する

<MTR_HOME>/rules/openrewrite/jakarta \ /javax/xml/rewrite.yml

org.jboss.windup.javax-jakarta. \ PersistenceXML

Spring Boot から Quarkus

application*.properties に一致するファイル内の spring.jpa.hibernate.ddl-auto プロパティーを置き換える

<MTR_HOME>/rules/openrewrite/quarkus \ /springboot/properties/rewrite.yml

org.jboss.windup.sb-quarkus.Properties

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat