使用 GitHub Copilot 应用现代化升级 Java 框架或第三方依赖项

本文介绍如何使用 GitHub Copilot 应用现代化升级 Java 框架或第三方依赖项,而无需 JDK 运行时升级。

启动框架升级

若要启动这种类型的升级,可以在代理模式下启动提示。 例如:

upgrade this Java project to Spring Boot 3.2

Visual Studio Code 的屏幕截图,其中显示了 Copilot 尝试仅升级到 Spring Boot 3.2。

处理兼容性

如果当前的 JDK 版本与指定的 Spring Boot 版本兼容(例如,适用于 Spring Boot 3.2 的 JDK 17+ 版本)则该工具执行仅限框架的升级。 源和目标 JDK 版本保持不变,并且目标 Spring Boot 版本会根据初始提示进行设置。

如果当前的 JDK 版本与目标框架版本不兼容(例如,从 JDK 8 升级到 Spring Boot 3.2 时)除了执行框架升级之外,该工具还会自动将 JDK 升级到框架所需的最低支持版本(在本例中为 JDK 17)。

升级第三方库

还可以使用类似的提示来升级第三方库。 例如:

use the java upgrade tools to upgrade "com.google.inject.guice" to 6.0.0 in this java project

显示 Copilot 尝试将 Google 库升级到较新版本的 Visual Studio Code 的屏幕截图。

启动升级特定第三方库(例如 Upgrade com.google.inject.guide to version 3.17.0 )的提示时,GitHub Copilot 会分析当前项目,并生成一个仅专注于更新所请求依赖项的升级计划。

Copilot 在升级过程中执行的任务

在此过程中,Copilot 可能会执行以下任务:

  • 修改代码或配置文件,以确保与新的库版本兼容。
  • 执行生成验证以确认项目编译成功。
  • 运行 CVE 检查以识别和显示任何安全问题。
  • 执行测试验证,以确保不会引入新的测试失败。

通过此 有针对性的升级流 ,可以使用透明度和控制实现依赖项现代化。

另请参阅

GitHub Copilot 应用现代化