此内容没有您所选择的语言版本。

Chapter 2. Installing and Running the CLI


2.1. Installing the CLI

You can install the CLI on Linux, Windows, or macOS operating systems.

Prerequisites

  • Java Development Kit (JDK) installed. MTA supports the following JDKs:

    • OpenJDK 1.8
    • OpenJDK 11
    • Oracle JDK 1.8
    • Oracle JDK 11
  • 8 GB RAM
  • macOS installation: the value of maxproc must be 2048 or greater.

Procedure

  1. Navigate to the MTA Download page and download the Migration Toolkit CLI file.
  2. Extract the .zip file to a directory of your choice.

    Note

    If you are installing on a Windows operating system:

    1. Extract the .zip file to a folder named mta to avoid a Path too long error.
    2. If a Confirm file replace window is displayed during extraction, click Yes to all.

    The installation directory is referred to as <MTA_HOME> in this guide.

2.2. Running the CLI

You can run MTA against your application.

Procedure

  1. Open a terminal and navigate to the <MTA_HOME>/bin/ directory.
  2. Execute the mta-cli script, or mta-cli.bat for Windows, and specify the appropriate arguments:

    $ ./mta-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
    • --input: The application to be evaluated.
    • --output: The output directory for the generated reports.
    • --source: The source technology for the application migration.
    • --target: The target technology for the application migration.
    • --packages: The packages to be evaluated. This argument is highly recommended to improve performance.
  3. Access the report.

2.2.1. MTA command examples

Running MTA on an application archive

The following command analyzes the com.acme and org.apache packages of the jee-example-app-1.0.0.ear example EAR archive for migrating from JBoss EAP 5 to JBoss EAP 7:

$ <MTA_HOME>/bin/mta-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
Running MTA on source code

The following command analyzes the org.jboss.seam packages of the seam-booking-5.2 example source code for migrating to JBoss EAP 6.

$ <MTA_HOME>/bin/mta-cli --sourceMode --input /path/to/seam-booking-5.2/ \
    --output /path/to/report-output/ --target eap:6 --packages org.jboss.seam
Copy to Clipboard
Running cloud-readiness rules

The following command analyzes the com.acme and org.apache packages of the jee-example-app-1.0.0.ear example EAR archive for migrating to JBoss EAP 7. It also evaluates for cloud readiness:

$ <MTA_HOME>/bin/mta-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
Overriding MTA properties

To override the default Fernflower decompiler, pass the -Dwindup.decompiler argument on the command line. For example, to use the Procyon decompiler, use the following syntax:

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

2.2.2. MTA CLI Bash completion

The MTA CLI provides an option to enable Bash completion for Linux systems, allowing the MTA command-line arguments to be auto completed by pressing the Tab key when entering the commands. For instance, when Bash completion is enabled, entering the following displays a list of available arguments.

$ <MTA_HOME>/bin/mta-cli [TAB]
Copy to Clipboard
Enabling Bash completion

To enable Bash completion for the current shell, execute the following command:

$ source <MTA_HOME>/bash-completion/mta-cli
Copy to Clipboard
Enabling persistent Bash completion

The following commands allow Bash completion to persist across restarts:

  • To enable Bash completion for a specific user across system restarts, include the following line in that user’s ~/.bashrc file.

    source <MTA_HOME>/bash-completion/mta-cli
    Copy to Clipboard
  • To enable Bash completion for all users across system restarts, copy the Migration Toolkit for Applications CLI Bash completion file to the /etc/bash_completion.d/ directory as the root user.

    # cp <MTA_HOME>/bash-completion/mta-cli /etc/bash_completion.d/
    Copy to Clipboard

2.2.3. Accessing MTA help

To see the complete list of available arguments for the mta-cli command, open a terminal, navigate to the <MTA_HOME> directory, and execute the following command:

$ <MTA_HOME>/bin/mta-cli --help
Copy to Clipboard

2.2.4. Using OpenRewrite recipes

Important

OpenRewrite recipe support is provided as Technology Preview only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs), might not be functionally complete, and Red Hat does not recommend to use them for production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

See Technology Preview features support scope on the Red Hat Customer Portal for information about the support scope for Technology Preview features.

You can refactor the source code of Java applications by using OpenRewrite recipes with the MTA CLI.

The OpenRewrite recipe org.jboss.windup.JavaxToJakarta renames imported javax packages to their jakarta equivalents.

Procedure

  1. Run`mta-cli`, specifying the recipe name and the application:

    $ ./mta-cli --openrewrite "-DactiveRecipes=<recipe_name>"  \
        --input </path/to/source/project> --goal dryRun
    Copy to Clipboard
    • "-DactiveRecipes=<recipe name>": Specify the OpenRewrite recipe, for example, org.jboss.windup.JavaxToJakarta.
    • --input: Specify the application to be refactored.
    • --goal: Optional: The OpenRewrite Maven goal to run.

      • dryRun : The script returns a list of proposed changes. Ignore the "Run 'mvn rewrite:run' to apply the recipes" message.
      • run: The script applies the changes.
  2. Run mta-cli with --goal run to apply the recipe:

    $ ./mta-cli --openrewrite "-DactiveRecipes=<recipe name>"  \
        --input </path/to/source/project> --goal run
    Copy to Clipboard

2.3. Accessing reports

When you run the Migration Toolkit for Applications, a report is generated in the <OUTPUT_REPORT_DIRECTORY> that you specify using the --output argument in the command line.

The output directory contains the following files and subdirectories:

<OUTPUT_REPORT_DIRECTORY>/
├── index.html          // Landing page for the report
├── <EXPORT_FILE>.csv   // Optional export of data in CSV format
├── archives/           // Archives extracted from the application
├── mavenized/          // Optional Maven project structure
├── reports/            // Generated HTML reports
├── stats/              // Performance statistics
Copy to Clipboard

Procedure

  1. Obtain the path of the index.html file of your report from the output that appears after you run MTA:

    Report created: <OUTPUT_REPORT_DIRECTORY>/index.html
                  Access it at this URL: file:///<OUTPUT_REPORT_DIRECTORY>/index.html
    Copy to Clipboard
  2. Open the index.html file by using a browser.

    The generated report is displayed.

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat