通过


快速入门:使用GitHub Copilot现代化升级Java项目

GitHub Copilot Java现代化升级支持以下场景:

  • 将Java开发工具包(JDK)升级到 Java 11、17、21 或 25。
  • 将 Spring Boot 升级到版本 3.5。
  • 将 Spring Framework 升级到版本 6.2+。
  • Java EE 升级到 Jakarta EE,最高升级到 Jakarta EE 10。
  • 升级 JUnit。
  • 第三方依赖项 升级到指定的版本。
  • 将 Ant 升级到 Maven 构建。

本快速入门介绍如何使用GitHub Copilot现代化升级Java项目。

先决条件

注释

Azure帐户仅用于将资源部署到Azure,在使用GitHub Copilot现代化进行代码更改时不需要。

如果使用 Gradle,则仅支持 Gradle 包装器版本 5 或更高版本。

不支持 Kotlin 域特定语言(DSL)。

IntelliJ IDEA 尚不支持该函数 My Skills

登录以使用 Copilot,然后安装所需的扩展

若要使用GitHub Copilot,请在Visual Studio Code中登录到GitHub帐户。 选择Visual Studio Code顶部的Copilot图标以访问GitHub Copilot窗格。 有关设置GitHub Copilot的详细信息,请参阅 在 VS Code 中设置GitHub Copilot

然后,使用以下步骤在 Visual Studio Code 中安装扩展:

  1. 在 Visual Studio Code 中,从活动栏打开 Extensions 视图。
  2. 在市场中搜索 GitHub Copilot 现代化改造
  3. 选择GitHub Copilot现代化
  4. 在扩展页上,选择“ 安装”。
  5. 重启Visual Studio Code。

小窍门

若要在 IntelliJ 中获得最佳体验,建议配置一些关键设置。 有关详细信息,请参阅 配置 GitHub Copilot 现代化的设置,以优化 IntelliJ 的使用体验

安装完成后,您应该会在 Visual Studio Code 的角落看到一条确认成功的通知。

有关详细信息,请参阅 安装 VS Code 扩展

选择要升级的Java项目

在本教程中,请选择以下示例存储库之一:

启动GitHub Copilot代理模式并启动升级

使用以下步骤启动GitHub Copilot代理模式并启动升级过程:

  1. 在Visual Studio Code中打开所选Java项目。

  2. 打开 GitHub Copilot 对话助手面板。

  3. 切换到代理模式。

  4. 输入类似 使用 Java 升级工具将项目升级到 Java 21使用 Java 升级工具将项目升级到 Java 21 和 Spring Boot 3.2 的提示,以包含框架信息。

    注释

    如果需要仅升级框架或第三方依赖项,请参阅通过使用GitHub Copilot现代化来更新框架或第三方依赖项。

  5. 出现提示时,选择“ 继续 ”以生成升级计划。

Visual Studio Code 的截图,其中显示了一个示例升级计划。

查看和编辑升级计划

GitHub Copilot现代化工具对当前工作区中的Java项目进行分析,包括其JDK、构建工具和依赖项。 该工具生成一个 plan.md 文件,该文件概述了以下计划更改:

  • 源和目标 JDK 版本。
  • 框架和库升级路径。

查看计划并根据需要进行更改,然后选择 “继续” 继续。 有关进一步自定义的信息,例如添加更多生成工具参数,请参阅 “自定义升级计划”。

小窍门

确保计划与所需的升级目标匹配,例如,Java 8 到 Java 21、Spring Boot 2.7 到 3.2。

的截图,显示了一个示例升级计划,其中升级目标被突出显示。

应用代码更改并修复生成问题

然后,GitHub Copilot继续进行项目的代码转换阶段。 它使用名为 OpenRewrite 的开源工具根据特定食谱实现一些代码更改。 然后,AI 通过动态生成/修复循环解决剩余问题。 随时可以通过检查 progress.md markdown 文件来监视Visual Studio Code编辑器区域中的进度。

在流程的各个阶段,GitHub Copilot提示你继续操作。

确认OpenRewrite转换步骤中,选择继续以使用OpenRewrite升级Java代码。 此步骤可能需要几分钟时间。

对于 “批准动态生成/修复循环 步骤”,请选择“ 继续 ”生成项目并修复错误。

Copilot 迭代并继续修复错误,直到没有更多问题。 进度显示在 progress.md 文件中。 循环一直持续到项目成功构建。

Visual Studio Code 的屏幕截图显示了 GitHub Copilot 聊天窗格,其中包含 Build-Fix 输出,并且“继续”按钮被突出显示。

检查漏洞和代码行为更改

在某些情况下,升级可能会导致代码行为更改或引入存在常见漏洞和暴露(CVE)问题的库。 该工具会针对这些问题执行额外的检查。

当GitHub Copilot提示运行验证检查是否有任何已知 CVE 的修改依赖项时,请选择继续

如果找到 CVE,GitHub Copilot代理模式尝试修复它们。 查看 VS Code 中的更改,并确定是否保留这些更改。

Visual Studio Code的截图,显示了包含CVE输出的GitHub Copilot聊天窗格,并突出显示了“继续”按钮。

在 CVE 检查后,当系统提示 运行验证代码行为一致性时,选择“ 继续”。

如果发现问题,GitHub Copilot代理模式会尝试解决这些问题。 决定是否保留或放弃更改。

检查完成后,GitHub Copilot重新生成项目并重新运行以前的检查。

如果仍存在不需要立即修复的次要问题,则升级已完成。 否则,GitHub Copilot会返回去解决这些问题。

Visual Studio Code的编辑器窗口截图,显示了一个固定的行。

查看摘要

升级后,该工具会在 summary.md 文件中生成摘要,其中包括以下信息:

  • 项目信息。
  • 代码行已更改。
  • 更新了依赖项。
  • 汇总的代码更改。
  • 修复了 CVE 安全性和代码不一致问题(如果有)。
  • 未解决的次要 CVE 问题。

Visual Studio Code 的屏幕截图,显示升级 Java 项目摘要内容。

后续步骤

Quickstart:使用GitHub Copilot现代化生成单元测试