Chapter 2. Getting started
2.1. Installing the CLI
You can install the CLI on Linux, Windows, or macOS operating systems.
Prerequisites
- OpenJDK 1.8, OpenJDK 11, Oracle JDK 1.8, or Oracle JDK 11
- 8 GB RAM
-
macOS: The value of
maxproc
must be2048
or greater.
Procedure
- Download the installation archive file from the MTA Download page.
Extract the
.zip
file to a directory of your choice.NoteIf you are installing on a Windows operating system, extract the
.zip
file to a folder namedmta
to avoid aPath too long
error.The directory is referred to as
<MTA_HOME>
in this guide.
2.2. Running the CLI
You can run MTA against your application.
Procedure
-
Open a terminal and navigate to the
<MTA_HOME>/bin/
directory. Execute the
mta-cli
script, ormta-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
-
--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.
-
- Access the report.
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
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
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
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>
About 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]
Enabling bash completion
To enable bash completion for the current shell, execute the following command. After the prompt returns, follow the steps for using the CLI.
$ source <MTA_HOME>/bash-completion/mta-cli
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
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. By default, this directory is only writable by the root user.# cp <MTA_HOME>/bash-completion/mta-cli /etc/bash_completion.d/
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
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
Procedure
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
Open the
index.html
file by using a browser.The generated report is displayed.