本快速入门介绍如何使用 GitHub Copilot 应用现代化升级 Java 项目 - Java 升级(预览版)。
先决条件
使用业务版或企业版计划的 GitHub 帐户,并启用了 GitHub Copilot。
最新版本的 Visual Studio Code。
GitHub Copilot 应用现代化 扩展包。 有关安装说明,请参阅下一部分。
此扩展包捆绑了以下两个扩展:
应用现代化不需要在本地环境中使用 Java。 但是,若要成功生成项目,请安装正确的 Java 和 Maven 版本。 我们推荐使用 Microsoft Build of OpenJDK 和 Maven。
源和目标 JDK 的已安装版本。
由 Git 管理的使用 Maven 或 Gradle 的 Java 项目。
对于基于 Maven 的项目:访问公共 Maven Central 存储库。
确保在 Visual Studio Code 设置中将“chat.extensionTools.enabled”设置为 true 。 此设置可能由组织控制。
注释
如果使用 Gradle,则仅支持 Gradle 包装器版本 5+ 。 不支持 Kotlin DSL。
登录以使用 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 中,从活动栏中打开 “扩展 ”视图。
- 在市场中搜索 GitHub Copilot 应用现代化 。
- 选择 GitHub Copilot 应用现代化 扩展包。
- 在扩展页上,选择“ 安装”。
- 重新启动 Visual Studio Code。
安装完成后,Visual Studio Code 的角落中应会显示一条通知,确认成功。
有关详细信息,请参阅 安装 VS Code 扩展。
选择要升级的 Java 项目
在本教程中,请选择以下示例存储库之一:
- Maven: uportal-messaging
- Gradle: docraptor-java
启动 GitHub Copilot 代理模式并启动升级
使用以下步骤启动 GitHub Copilot 代理模式并启动升级过程:
- 在 Visual Studio Code 中打开选定的 Java 项目。
- 打开 GitHub Copilot 聊天面板。
- 切换到代理模式。
- 输入提示,例如 将项目升级到 Java 21 和 Spring Boot 3.2。
- 出现提示时,选择“ 继续 ”以生成升级计划。
查看和编辑升级计划
应用现代化 - Java 升级(预览版)分析当前工作区中的 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 问题。