2.3. 运行 CLI
您可以针对一个或多个应用程序运行 Migration Toolkit for Applications (MTA) CLI。
在 MTA 7.1.0 之前,如果要针对多个应用程序运行 CLI,您需要对多个应用程序运行一系列 - analyze
命令,每个命令都针对一个应用程序,以及生成单独的报告。此选项仍被完全支持,请参考 针对应用程序运行 MTA CLI。
在 MTA 7.1.0 及更新的版本中,您可以使用-- bulk
选项对多个应用程序运行 CLI,以生成单个报告。这个选项(作为开发者预览) 在针对多个应用程序运行 MTA CLI 中描述,并生成单个报告(开发者预览 )。
针对一个或多个应用程序运行 CLI 只是一个技术预览功能。Developer Preview(开发人员预览)功能不被红帽支持,其功能可能并不完善且不是生产环境就绪。不要将开发人员预览功能用于生产环境或业务关键型工作负载。开发人员预览功能可以在之前可能地包含在红帽产品产品中提前访问即将推出的产品功能,使客户能够测试功能并在开发过程中提供反馈。这些功能可能没有任何文档,可能会随时被更改或删除,测试也会受到限制。红帽可能会提供在没有关联 SLA 的情况下提交对开发人员预览功能的反馈。
2.3.1. 针对应用程序运行 MTA CLI 复制链接链接已复制到粘贴板!
您可以针对应用程序运行 Migration Toolkit for Applications (MTA) CLI。
流程
-
打开一个终端,再进入 <
MTA_HOME>/
目录。 运行
mta-cli
脚本,或为 Windows 运行mta-cli.exe
,并指定适当的参数:./mta-cli analyze --input <path_to_input> \ --output <path_to_output> --source <source_name> --target <target_source> \
$ ./mta-cli analyze --input <path_to_input> \ --output <path_to_output> --source <source_name> --target <target_source> \
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
--input
:要评估的应用程序。 -
--output
:所生成的报告的输出目录。 -
--source
:应用程序迁移的源技术。例如,weblogic。
-
--target
:应用程序迁移的目标技术。例如,eap8
。
-
- 访问报告。
2.3.1.1. MTA 命令示例 复制链接链接已复制到粘贴板!
在应用程序存档中运行 MTA
以下命令分析名为 jee-example-app-1.0.0.ear
的 EAR 存档示例,用于从 JBoss EAP 5 迁移到 JBoss EAP 7:
<MTA_HOME>/mta-cli analyze \ --input <path_to_jee-example-app-1.0.0.ear> \ --output <path_to_report_output> --source eap5 --target eap7 \
$ <MTA_HOME>/mta-cli analyze \
--input <path_to_jee-example-app-1.0.0.ear> \
--output <path_to_report_output> --source eap5 --target eap7 \
在源代码上运行 MTA
以下命令分析一个称为 客户管理
(迁移到 JBoss EAP 8)的示例应用的源代码。
<MTA_HOME>/mta-cli analyze --mode source-only --input <path_to_customer-management> \ --output <path_to_report_output> --target eap8 --packages org.jboss.eap
$ <MTA_HOME>/mta-cli analyze --mode source-only --input <path_to_customer-management> \
--output <path_to_report_output> --target eap8 --packages org.jboss.eap
运行云就绪规则
以下命令分析名为 jee-example-app-1.0.0.ear
的 EAR 存档示例,以迁移到 JBoss EAP 7。它还评估云就绪的归档:
<MTA_HOME>/mta-cli analyze --input <path_to_jee-example-app-1.0.0.ear> \ --output <path_to_report_output> \ --target eap7
$ <MTA_HOME>/mta-cli analyze --input <path_to_jee-example-app-1.0.0.ear> \
--output <path_to_report_output> \
--target eap7
2.3.2. 针对多个应用程序运行 MTA CLI 并生成单个报告(开发者预览) 复制链接链接已复制到粘贴板!
现在,您可以针对多个应用程序运行 Migration Toolkit for Applications (MTA) CLI,并生成组合报告。这可以节省时间,并让您更好地了解如何为迁移准备一组应用程序。
此功能目前是开发者技术预览功能。
针对一个或多个应用程序运行 CLI 只是一个技术预览功能。Developer Preview(开发人员预览)功能不被红帽支持,其功能可能并不完善且不是生产环境就绪。不要将开发人员预览功能用于生产环境或业务关键型工作负载。开发人员预览功能可以在之前可能地包含在红帽产品产品中提前访问即将推出的产品功能,使客户能够测试功能并在开发过程中提供反馈。这些功能可能没有任何文档,可能会随时被更改或删除,测试也会受到限制。红帽可能会提供在没有关联 SLA 的情况下提交对开发人员预览功能的反馈。
流程
-
打开一个终端,再进入 <
MTA_HOME>/
目录。 运行
mta-cli
脚本或 Windows 的mta-cli.exe
,并指定适当的参数,为每个analyze
命令输入一个输入,但为所有输入输入相同的输出目录。例如,要分析应用程序 A、B 和 C:输入以下命令输入 A:
./{mta-cli} analyze --bulk --input=<path_to_input_A> --output=<path_to_output_ABC> --source <source_A> --target <target_A>
$ ./{mta-cli} analyze --bulk --input=<path_to_input_A> --output=<path_to_output_ABC> --source <source_A> --target <target_A>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
--input
:要评估的应用程序。 -
--output
:所生成的报告的输出目录。 -
--source
:应用程序迁移的源技术。例如,weblogic。
-
--target
:应用程序迁移的目标技术。例如,eap8
。
-
输入以下命令输入 B :
./{mta-cli} analyze --bulk --input=<path_to_input_B> --output=<path_to_output_ABC> --source <source_B> --target <target_B>
$ ./{mta-cli} analyze --bulk --input=<path_to_input_B> --output=<path_to_output_ABC> --source <source_B> --target <target_B>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令输入 C:
./{mta-cli} analyze --bulk --input=<path_to_input_C> --output=<path_to_output_ABC> --source <source_C> --target <target_C>
$ ./{mta-cli} analyze --bulk --input=<path_to_input_C> --output=<path_to_output_ABC> --source <source_C> --target <target_C>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow MTA 生成单个报告,列出在迁移应用程序前需要解决的所有问题。
- 访问报告。
2.3.3. 使用命令行执行分析 复制链接链接已复制到粘贴板!
分析
支持使用 分析器运行源代码和二进制分析
。
要在应用程序源代码上运行分析,请运行以下命令:
mta-cli analyze --input=<path_to_source_code> --output=<path_to_output_directory>
mta-cli analyze --input=<path_to_source_code> --output=<path_to_output_directory>
all 标记:
上面的标记列表不包括-- bulk
标志,因为此标志仅作为开发者预览功能的一部分提供。此功能在 CLI 上分析多个应用程序时提供单一报告的支持。
使用示例
- 获取要运行分析的示例应用程序。
列出可用的目标技术。
mta-cli analyze --list-targets
mta-cli analyze --list-targets
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用指定的目标技术运行分析,如
云就绪
。mta-cli analyze --input=<path-to/example-applications/example-1> --output=<path-to-output-dir> --target=cloud-readiness
mta-cli analyze --input=<path-to/example-applications/example-1> --output=<path-to-output-dir> --target=cloud-readiness
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在您指定的输出路径中创建几个分析报告:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
output.yaml
是包含问题报告的文件。 -
static-report
包含静态 HTML 报告。 -
dependencies.yaml
包含依赖项报告。
-
2.3.4. 使用命令行执行转换 复制链接链接已复制到粘贴板!
转换有两个子命令 - openrewrite
和 rules
。
2.3.4.1. OpenRewrite 复制链接链接已复制到粘贴板!
openrewrite
子命令允许在源代码上运行 OpenRewrite
方法。
要在应用程序源代码上运行 openrewrite
,请运行以下命令:
mta-cli transform openrewrite --input=<path/to/source/code> --target=<exactly_one_target_from_the_list>
mta-cli transform openrewrite --input=<path/to/source/code> --target=<exactly_one_target_from_the_list>
您只能使用单个目标来运行 转换覆盖
命令。
2.3.4.2. 规则 复制链接链接已复制到粘贴板!
rules
子命令允许使用 windup-shim
将 mta XML 规则转换为 analyzer-lsp YAML 规则。
要在应用程序源代码上运行 转换规则
,请运行以下命令:
mta-cli transform rules --input=<path/to/xmlrules> --output=<path/to/output/dir>
mta-cli transform rules --input=<path/to/xmlrules> --output=<path/to/output/dir>
使用示例
- 获取示例应用程序来转换源代码。
查看可用的 OpenRewrite recipes。
mta-cli transform openrewrite --list-targets
mta-cli transform openrewrite --list-targets
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在示例应用程序上运行方法。
mta-cli transform openrewrite --input=<path-to/jakartaee-duke> --target=jakarta-imports
mta-cli transform openrewrite --input=<path-to/jakartaee-duke> --target=jakarta-imports
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查
jakartaee-duke
应用源代码 diff 以查看转换。
2.3.4.3. 可用的 OpenRewrite recipes 复制链接链接已复制到粘贴板!
迁移路径 | 用途 | rewrite.configLocation | activeRecipes |
---|---|---|---|
Java EE 到 Jakarta EE |
使用对等的
将 |
|
|
Java EE 到 Jakarta EE | 重命名 bootstrap 文件 |
|
|
Java EE 到 Jakarta EE |
转换 |
|
|
Spring Boot 到 Quarkus |
在文件中替换 |
|
|