Eclipse 和 Red Hat CodeReady Studio 指南

Migration Toolkit for Applications 6.1

通过使用 Eclipse 或 Red Hat CodeReady Studio 的 MTA 插件分析应用程序,确定并解决迁移问题。

Red Hat Customer Content Services

摘要

本指南论述了如何将 MTA 插件用于 Eclipse 或 Red Hat CodeReady Studio,以便在 Red Hat OpenShift 的混合云环境中加速大型应用程序现代化工作。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息

第 1 章 简介

1.1. 关于 Eclipse 和 Red Hat CodeReady Studio 的 MTA 插件

您可以使用 Eclipse 和 Red Hat CodeReady Studio 的 Migration Toolkit for Applications (MTA) 插件迁移和现代化应用程序。

MTA 插件利用自定义规则集来分析您的项目,标记源代码中的问题,提供指导来修复问题,并提供自动代码替换(如果可能)。

1.2. 关于 Migration Toolkit for Applications

什么是 Migration Toolkit for Applications?

Migration Toolkit for Applications (MTA) 在 Red Hat OpenShift 的混合云环境中加速大规模应用程序现代化的过程。此解决方案会考虑整个迁移过程的详细情况,包括产品组合和应用程序级别的信息:库存、评估、分析和管理应用程序,以便更快地通过用户界面迁移到 OpenShift。

MTA 使用一个非常具体的问题调查,作为评估应用程序的基础,使您能够估计准备应用进行容器化所需的难度、时间和其他资源。您可以使用评估结果作为与利益相关者进行的讨论基础,以确定哪些应用程序可以被容器化,哪些需要大量的准备工作,哪些不适用于容器化。

MTA 会根据一个或多个规则集来对应用程序进行分析,并找出应用程序的哪些部分需要进行修改才可以对其进行现代化。

MTA 检查应用程序工件,包括项目源目录和应用程序存档,然后生成 HTML 报告突出显示需要更改的区域。MTA 支持许多迁移路径,包括:

  • 升级至 Red Hat JBoss Enterprise Application Platform 的最新版本
  • 从 Oracle WebLogic 或 IBM WebSphere Application Server 迁移到 Red Hat JBoss Enterprise Application Platform
  • 容器化应用程序并使之成为云就绪
  • 从 Java Spring Boot 迁移到 Quarkus
  • 从 OpenJDK 8 升级到 OpenJDK 11
  • 从 OpenJDK 11 升级到 OpenJDK 17
  • 将 EAP Java 应用程序迁移到 Azure App Service
  • 将 Spring Boot Java 应用程序迁移到 Azure 应用程序服务

有关用例和迁移路径的更多信息,请参阅适用于开发人员网页的 MTA

Migration Toolkit for Applications 如何简化迁移?

Migration Toolkit for Applications 会查找常见资源和在迁移应用程序时的已知问题。它为应用程序使用的技术提供了高级视图。

MTA 生成详细的报告,评估迁移或现代化路径。此报告可帮助您估算大型项目所需的工作量,并减少涉及的工作。

第 2 章 安装 MTA 插件

您可以在连接的或受限网络环境中安装 MTA 插件。

2.1. 在连接的环境中安装

您需要一个连接的环境来安装 MTA 插件。

MTA 插件已使用用于 Java Enterprise Developers 2022-03 和 Red Hat CodeReady Studio 12.21.3.GA 的 Eclipse IDE 进行测试。

先决条件

流程

  1. 启动 Eclipse 或 CodeReady Studio。
  2. 从菜单栏中,选择 HelpInstall New Software
  3. Work with 字段旁边,点 Add
  4. Name 字段中,输入 MTA
  5. Location 字段中,输入 https://marketplace.eclipse.org/content/migration-toolkit-applications-mta 并点 OK
  6. 选择所有 JBoss Tools - MTA 复选框,点 Next
  7. 检查安装详情并点 Next
  8. 接受许可协议条款并点 完成
  9. 重启 Eclipse 或 CodeReady Studio。

2.2. 在连接的环境中安装

您需要一个连接的环境来安装 MTA 插件。

MTA 插件已使用用于 Java Enterprise Developers 2022-03 和 Red Hat CodeReady Studio 12.21.3.GA 的 Eclipse IDE 进行测试。

先决条件

流程

  1. 启动 Eclipse 或 CodeReady Studio。
  2. 从菜单栏中,选择 HelpInstall New Software
  3. Work with 字段旁边,点 Add
  4. Name 字段中,输入 MTA
  5. Location 字段中,输入 https://marketplace.eclipse.org/content/migration-toolkit-applications-mta 并点 OK
  6. 选择所有 JBoss Tools - MTA 复选框,点 Next
  7. 检查安装详情并点 Next
  8. 接受许可协议条款并点 完成
  9. 重启 Eclipse 或 CodeReady Studio。

2.3. 访问 MTA 工具

您可以在 MTA 透视图中访问 MTA 插件工具。

先决条件

  • 安装 MTA 插件后,您必须重新启动 Eclipse IDE 或 Red Hat CodeReady Studio。

流程

  1. WindowPerspectiveOpen PerspectiveOther
  2. 选择 MTA 并点 OK

    此时会显示以下组件:

    • 问题 管理器显示 MTA 插件确定的迁移问题。
    • MTA 服务器 是一个单独的进程,用于分析项目、标记迁移问题并生成报告。

      您可以在 Issue Explorer 中启动、停止和查看 MTA 服务器的状态。

    • 问题详情显示有关所选问题的详细信息,包括提示、严重性和任何其他资源。
    • MTA 报告是由 MTA 插件生成的 HTML 报告。在报告登录页面中,您可以导航到详细的报告,如应用程序详情、问题和依赖项。

      注意

      默认情况下不生成报告。您必须在运行配置中选择 Generate Report 选项。

第 3 章 使用 MTA 插件分析项目

您可以通过 MTA 插件创建运行配置、运行分析,然后检查并解决 MTA 插件检测到的迁移问题,通过 MTA 插件分析您的项目。

3.1. 创建运行配置

您可以在 Issue Explorer 中创建运行配置。运行配置指定用于分析、迁移路径和其他选项的项目。

您可以创建多个运行配置。每一个运行配置都必须具有唯一的名称。

前提条件

  • 您必须将项目导入到 Eclipse IDE 或 CodeReady Studio 中。

流程

  1. Issue Explorer 中,点 MTA 图标( MTA button )创建运行配置。
  2. Input 选项卡中,完成以下字段:

    1. 选择迁移路径。
    2. Projects 字段中,点 Add,然后选择一个或多个项目。
    3. Packages 字段中点 Add,然后选择一个或多个软件包。

      注意

      指定用于分析的软件包可减少运行时。如果您没有选择任何软件包,则项目中的所有软件包都会被扫描。

  3. Options 选项卡中,您可以选择 Generate Report 来生成 HTML 报告。该报告显示在 Report 选项卡中,并作为文件保存。

    此时会显示其他选项。详情请参阅 CLI 指南中的关于 MTA 命令行参数

  4. Rules 选项卡中,您可以选择您为 MTA 插件导入或创建的自定义规则集。
  5. Run 以开始分析。

3.2. 分析项目

您可以使用保存的运行配置运行 MTA 插件来分析您的项目。

流程

  1. MTA 透视图中,点 Run 按钮( Run button )并选择运行配置。

    MTA 插件可以分析您的项目。Issue Explorer 显示使用 ruleset 检测到的迁移问题。

  2. 分析完项目后,在 Issue Explorer 中停止 MTA 服务器以节省内存。

3.3. 检查问题

您可以查看 MTA 插件识别的问题。

流程

  1. WindowShow ViewIssue Explorer
  2. 可选:点 Options 菜单 kebab 来过滤问题,选择 Group By 和 a 选项。

    issue Explorer "Group By" 选项
  3. 在右键并选择 Issue Details 来查看问题的信息,包括其严重性以及如何解决它。

    以下图标表示问题的严重性和状态:

    表 3.1. 问题图标

    图标描述
    Mandatory(必需)

    必须解决这个问题才能成功进行迁移。

    选填

    这个问题是修复迁移的可选功能。

    警告

    此问题可能需要在迁移过程中解决。

    已解决

    这个问题已解决。

    Stale

    这个问题已过时。自该 MTA 第一次将其识别为问题后,被修改标记为问题的代码。

    带快速修复的强制

    这个问题提供了一个快速修复,这是成功进行迁移所必需的。

    可选(快速修复)

    这个问题提供了一个快速修复,对于迁移来说是可选的。

    通过快速修复警告

    这个问题提供了一个快速修复,在迁移过程中可能会有问题。

  4. 双击一个问题,在编辑器中打开相关的代码行。

3.4. 解决问题

您可以通过执行以下操作之一解决 MTA 插件检测到的问题:

  • 您可以双击它以在编辑器中打开它,并编辑源代码。

    这个问题会显示一个 Stale 图标( Stale ),直到下次运行 MTA 插件为止。

  • 您可以在问题上单击鼠标右键,然后选择 Mark as Fixed
  • 如果问题显示快速修复图标( Mandatory with quick fix Optional with quick fix Warning with quick fix ),您可以右键点击问题并选择 Preview Quick Fix,然后选择 Apply Quick Fix

第 4 章 管理规则

MTA 插件附带了一组用于分析项目以及识别迁移和现代化问题的核心 System 规则。

您可以创建并导入自定义规则集。

4.1. 查看规则

您可以查看系统和自定义规则(若有)用于 MTA 插件。

先决条件

  • 要查看系统规则,MTA 服务器必须正在运行。

流程

  1. Rulesets 选项卡。
  2. 展开 System 以查看系统规则集或 Custom 来查看自定义规则集。
  3. 展开规则集。
  4. 双击一条规则,在查看器中打开它。
  5. Source 选项卡查看规则的 XML 源。

4.2. 创建自定义规则集

您可以在 MTA 视角中创建自定义规则集。

有关创建自定义 XML 规则的更多信息,请参阅规则开发指南

流程

  1. Rulesets 选项卡。
  2. 点 Create Ruleset 图标( Create ruleset icon )。
  3. 为规则集选择一个项目和目录。
  4. 输入文件名。

    注意

    该文件必须具有 .windup.xml 扩展。

  5. 输入 ruleset ID,例如 my-ruleset-id
  6. 可选: 选择 Generate quickstart 模板向文件添加基本规则模板。
  7. Finish
  8. ruleset 文件会在编辑器中打开,您可以在文件中添加并编辑规则。
  9. Source 选项卡编辑 ruleset 文件的 XML 源。

您可以在创建运行时配置时选择新规则集。

4.3. 导入自定义规则集

您可以将自定义规则集导入到 MTA 插件中,以分析您的项目。

先决条件

  • 带有 .windup.xml 扩展的自定义规则集文件。

    有关创建规则集的信息,请参阅规则开发指南

流程

  1. Rulesets 选项卡。
  2. 点 Import Ruleset 图标( Import ruleset icon )。
  3. 浏览并选择要导入的 XML 规则文件。

    当您在 Rulesets 选项卡上展开 Custom 时,会显示自定义规则集。

4.4. 提交自定义规则集

您可以提交自定义规则集,以包括在官方 MTA 规则存储库中。这样,您的自定义规则可审核并包含在后续 MTA 版本中。

流程

  1. Rulesets 选项卡。
  2. 点箭头图标( Dropdown )并选择 Submit Ruleset
  3. 完成以下字段:

    • Summary :描述规则的目的。这是提交的标题。
    • code Sample :输入规则应针对的源代码示例。
    • 描述 :输入规则的简短描述。
  4. Choose Files 并选择 ruleset 文件。
  5. Submit

法律通告

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.