本文介绍如何使用 GitHub Copilot 应用现代化升级 Java 框架或第三方依赖项,而无需 JDK 运行时升级。
启动框架升级
若要启动这种类型的升级,可以在代理模式下启动提示。 例如:
upgrade this Java project to 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
启动升级特定第三方库(例如 Upgrade com.google.inject.guide to version 3.17.0 )的提示时,GitHub Copilot 会分析当前项目,并生成一个仅专注于更新所请求依赖项的升级计划。
Copilot 在升级过程中执行的任务
在此过程中,Copilot 可能会执行以下任务:
- 修改代码或配置文件,以确保与新的库版本兼容。
- 执行生成验证以确认项目编译成功。
- 运行 CVE 检查以识别和显示任何安全问题。
- 执行测试验证,以确保不会引入新的测试失败。
通过此 有针对性的升级流 ,可以使用透明度和控制实现依赖项现代化。