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项目。
先决条件
- 已启用GitHub Copilot功能的 GitHub 帐户。 需要免费套餐、Pro、Pro+、Business 或 Enterprise 计划。
- 以下 IDE 之一:
- 最新版本的 Visual Studio Code。 必须是版本 1.101 或更高版本。
- 在 Visual Studio Code 中的 GitHub Copilot。 有关设置说明,请参阅 在 Visual Studio Code 中设置 GitHub Copilot。 请务必在Visual Studio Code内登录到GitHub帐户。
- GitHub Copilot 现代化。 安装后重启Visual Studio Code。
-
IntelliJ IDEA 的最新版本。 必须是 2023.3 或更高版本。
- GitHub Copilot。 必须是版本 1.5.59 或更高版本。 有关更多说明,请参阅 在 IntelliJ IDEA 中设置GitHub Copilot。 请务必登录到 IntelliJ IDEA 中的GitHub帐户。
- GitHub Copilot 现代化。 安装后重启 IntelliJ IDEA。 如果没有安装GitHub Copilot,可以直接安装GitHub Copilot现代化。
- 要更高效地使用 GitHub Copilot 进行现代化:在 IntelliJ IDEA 的设置中,选择 Tools>GitHub Copilot 配置窗口,然后选择 自动批准 和 信任 MCP 工具批注。 有关详细信息,请参阅 配置 GitHub Copilot 的现代化更新设置,以便优化 IntelliJ 的使用体验。
- 最新版本的 Visual Studio Code。 必须是版本 1.101 或更高版本。
- 对于源和目标 JDK 版本,Java JDK。
- Maven 或 Gradle 生成Java项目。
- Git 托管的 Java 项目,使用 Maven 或 Gradle。
- 对于基于 Maven 的项目:访问公共 Maven Central 存储库。
- 在Visual Studio Code设置中,请确保将
chat.extensionTools.enabled设置为true。 此设置可能由组织控制。
注释
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 中安装扩展:
- 在 Visual Studio Code 中,从活动栏打开 Extensions 视图。
- 在市场中搜索 GitHub Copilot 现代化改造。
- 选择GitHub Copilot现代化。
- 在扩展页上,选择“ 安装”。
- 重启Visual Studio Code。
小窍门
若要在 IntelliJ 中获得最佳体验,建议配置一些关键设置。 有关详细信息,请参阅 配置 GitHub Copilot 现代化的设置,以优化 IntelliJ 的使用体验。
安装完成后,您应该会在 Visual Studio Code 的角落看到一条确认成功的通知。
有关详细信息,请参阅 安装 VS Code 扩展。
选择要升级的Java项目
在本教程中,请选择以下示例存储库之一:
- Maven: uportal-messaging
- Gradle: docraptor-java
启动GitHub Copilot代理模式并启动升级
使用以下步骤启动GitHub Copilot代理模式并启动升级过程:
在Visual Studio Code中打开所选Java项目。
打开 GitHub Copilot 对话助手面板。
切换到代理模式。
输入类似 使用 Java 升级工具将项目升级到 Java 21 或 使用 Java 升级工具将项目升级到 Java 21 和 Spring Boot 3.2 的提示,以包含框架信息。
注释
如果需要仅升级框架或第三方依赖项,请参阅通过使用GitHub Copilot现代化来更新框架或第三方依赖项。
出现提示时,选择“ 继续 ”以生成升级计划。
查看和编辑升级计划
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 文件中。 循环一直持续到项目成功构建。
检查漏洞和代码行为更改
在某些情况下,升级可能会导致代码行为更改或引入存在常见漏洞和暴露(CVE)问题的库。 该工具会针对这些问题执行额外的检查。
当GitHub Copilot提示运行验证检查是否有任何已知 CVE 的修改依赖项时,请选择继续。
如果找到 CVE,GitHub Copilot代理模式尝试修复它们。 查看 VS Code 中的更改,并确定是否保留这些更改。
在 CVE 检查后,当系统提示 运行验证代码行为一致性时,选择“ 继续”。
如果发现问题,GitHub Copilot代理模式会尝试解决这些问题。 决定是否保留或放弃更改。
检查完成后,GitHub Copilot重新生成项目并重新运行以前的检查。
如果仍存在不需要立即修复的次要问题,则升级已完成。 否则,GitHub Copilot会返回去解决这些问题。
查看摘要
升级后,该工具会在 summary.md 文件中生成摘要,其中包括以下信息:
- 项目信息。
- 代码行已更改。
- 更新了依赖项。
- 汇总的代码更改。
- 修复了 CVE 安全性和代码不一致问题(如果有)。
- 未解决的次要 CVE 问题。