对于很多开发者来说,无论是迁移到云端,还是升级 Java 运行时环境,改造传统 Java 应用并不轻松:依赖冲突、弃用组件、老旧部署方式以及安全漏洞,常常让升级之路步履维艰。在这篇文章中,我们将带您深入了解如何借助智能 GitHub Copilot 副驾驶® 的 Agent Mode(国际版),快速现代化您的 Java 项目。
通过将智能 GitHub Copilot agent mode和 GitHub Copilot app modernization VS Code插件配合使用,即可为您提供交互式的升级体验,一步步引导您完成项目改造,减少错误,提升效率。
虽然本文聚焦 Java 项目,但GitHub Copilot agent mode 同样支持在 Visual Studio 中对 .NET 应用进行端到端现代化改造,包括 AI 辅助升级、云就绪迁移路径,以及一键部署到 Azure(国际版)—— 全程可视化操作,显著降低人工成本,加速价值交付。
在这篇指南中,您将学到如何在 Visual Studio Code 中使用这些工具完成以下任务:
🔵 分析Java 项目并生成升级计划
🔵 使用 GitHub Copilot 副驾驶® 自动应用变更
🔵 修复构建问题并验证测试结果
🔵 升级后自动检测并修复 CVE 漏洞
01
GitHub Copilot agent mode 是智能 GitHub Copilot 副驾驶® 的高级功能,它能理解您的目标,用一系列自动拆解的小任务,真正把您的想法变为现实。
只需一句提示,它就能自动:找出相关文件或生成新文件、写好代码逻辑、提出终端命令或工具调用建议 、遇到运行错误还能尝试自动修复(Self-healing)
它具备以下能力:
🔵 理解高层次的自然语言指令
🔵 在上下文中做出智能决策
🔵 自动执行多步骤任务
🔵 根据实时反馈持续迭代优化
下方流程图展示了 GitHub Copilot agent mode 如何将用户的指令连接到一个实时反馈循环中:Agent 会与代码、工作区、工具以及大型语言模型(LLM)交互,不断进行规划、执行和优化,从而实现更智能、更高效的开发体验。
02
为了顺利跟着指南操作,请确保您已经准备好以下内容:
Visual Studio Code
智能 GitHub Copilot 副驾驶® 许可(Pro、Pro+、Business 和 Enterprise 用户均可使用智能 GitHub Copilot 副驾驶® 的 coding agent 国际版功能)
GitHub Copilot App Modernization – upgrade for Java 插件
一个基于 Git 的、使用 Maven 或 Gradle 构建的(只要是 JDK 8 或更高版本即可)老旧 Java 项目
当您使用 Java 升级扩展启动 agent 会话时,智能 GitHub Copilot 副驾驶®(国际版)将执行以下操作:
分析您的 Java 代码库
生成可定制的升级方案
使用 OpenRewrite 等工具执行代码转换
迭代修复构建错误
通过测试执行验证变更
扫描 CVE 漏洞,提供代码验证行为并建议安全替代方案
生成完整摘要报告
03
Step 1:在 VS Code 中打开您的 Java 项目
您可以使用自己的项目,或者使用一个我们为您准备好的示例,确保已通过 Git 初始化版本控制,并具备可运行的测试套件(最好包含单元测试)。
git clone https://github.com/your-org/your-legacy-java-app.git
cd your-legacy-java-app
code
Step 2:在 VS Code 中启动 Agent 会话
打开智能 GitHub Copilot 副驾驶®(国际版)的聊天侧边栏,启动一个新的 Agent 会话。选择工具:GitHub Copilot App Modernization – upgrade for Java。
在会话中粘贴以下指令开始操作:
Using Java upgrade tools,upgrade this project to Java 21. Analyze deprecated APIs, update Gradle dependencies, and propose a safe, testable migration plan.
Step 3: 让智能 GitHub Copilot 副驾驶® 扫描并制定升级计划
智能 GitHub Copilot 副驾驶® 会自动分析您的项目并生成升级方案,包括:
当前使用的 JDK 版本
构建工具配置(如 Gradle 的 build.gradle 或 Maven 的 pom.xml)
失效或存在安全风险的依赖项
弃用的 API 和语言特性
升级计划会以结构化形式呈现在智能 GitHub Copilot 副驾驶® 聊天窗口中,您可以进一步调整或排除某些模块。
Step 4: 接受建议并修复错误
当您批准了升级方案后,智能 GitHub Copilot 副驾驶®(国际版)会开始升级文件、调整导入路径、修复语法错误。如果出现构建错误,它会进入“修复 + 测试”循环,直到项目成功编译。
智能 GitHub Copilot 副驾驶® (国际版)将生成一份详细的升级报告,包括:
修改的文件和提交记录
API 和依赖更新详情
待办事项和下一步建议
示例代码变更:
// 升级前(弃用构造器)
View view = this.resolver.resolveViewName("intro", new Locale("EN"));
// 升级后(Java 21)
View view = this.resolver.resolveViewName("intro", Locale.of("EN"));
Step 5:迁移到 Azure
为了让应用具备云部署能力,您可以运行 App 评估,识别云就绪问题。在 GitHub Copilot app modernization extension UI 中点击 Migrate to Azure。
根据部署目标,智能 GitHub Copilot 副驾驶® 会识别迁移问题并给出建议。您可以在 appmod-java/appcat 文件夹下修改 assessment-config.yaml 来设置部署目标。在下方示例中,我们选择 Azure Kubernetes Service(AKS)作为部署目标。部署目标还可以是 Azure App Services、Azure App Service Managed Instance、Azure Container Apps、AKS Automatic 等。
评估报告将自动生成,并列出详细的云就绪问题。点击 Auth Migration 类别下的迁移按钮,即可将本地身份认证迁移到 Microsoft Entra ID。
与其他迁移流程一样,智能 GitHub Copilot 副驾驶® 会先生成迁移计划,列出依赖更新和配置变更。当迁移计划获得批准后,将自动执行迁移步骤。
我们看到,智能 GitHub Copilot 副驾驶® 总结了该场景中进行的变更事项。包括:
🔵 在构建配置中添加了 Microsoft Entra ID 依赖项
🔵 在 Application.properties 中添加了 Microsoft Entra ID 配置
🔵 为 Spring Security 添加了配置适配器以启用 Microsoft Entra ID
🔵 添加了文档说明,如何在 Spring WebFlow 应用中实现 Microsoft Entra ID 身份验证
Step 6:验证变更并查看报告
代码更新完成后,运行测试套件验证结果。智能 GitHub Copilot 副驾驶® 会引导您使用项目构建系统运行测试。
Maven 项目:
./mvnw test
Gradle 项目:
./gradlew test
如果测试遇到失败,智能 GitHub Copilot 副驾驶® 会协助调试,甚至根据变更自动补充缺失测试用例。所有操作都遵循“人类参与”原则,在您授意后执行。
04
GitHub Copilot App Modernization 会自动扫描所有变更依赖中的 CVE 漏洞,智能推荐安全版本或替代库,确保安全合规。
05
部署到 Azure 往往复杂且耗时。现在,这一步已经被简化、且自动化了。
06
借助 GitHub Copilot App Modernization,您可以轻松将传统 Java 项目升级为云就绪应用。它不仅支持 Java 升级和迁移,还能解决构建问题、验证变更、增强测试覆盖率 —— 全程由 AI 技术引导,一步到位。
07
无论是 Java、.NET 还是您的下一次迁移计划,GitHub Copilot Agent Mode 都能帮您分析大型代码库、制定升级方案、自动修复问题,大幅节省人工调试时间!
您还可以阅读我们最新发布的文章《借助 Agentic AI 加速迁移与现代化》。
声明:
1. 智能 GitHub Copilot 副驾驶® 及其高级功能、组合插件,目前仅在 Azure 国际版可用。
2. 本文介绍的操作方法以及代码截图,目前也仅适用于 Azure 国际版。

