解答有关 GitHub Copilot 应用现代化 - Java 升级的常见问题(预览版)。
什么是 GitHub Copilot 应用现代化 - Java 升级(预览版)?
GitHub Copilot 应用现代化 - Java 升级(预览版)是基于 AI 的代理解决方案,旨在帮助升级 Java 应用。
GitHub Copilot 应用现代化 - Java 升级(预览版)可以做什么?
如今,GitHub Copilot 应用现代化 - Java 升级(预览版)可帮助你将项目中的 Java 运行时、依赖项、常用框架和代码升级到较新版本。 它是 Visual Studio Code 的扩展,可以执行以下任务:
- 分析项目及其依赖项,并提出升级计划。
- 执行计划以转换项目。
- 自动修复进度过程中的问题。
- 报告所有详细信息,包括提交、日志和输出。
- 在升级后检查常见漏洞和暴露(CVE)安全漏洞和代码不一致。
- 显示摘要,包括文件更改、更新的依赖项和已修复的问题。
- 独立于升级过程生成单元测试。
GitHub Copilot 计划可用于 GitHub Copilot 应用现代化 - Java 升级(预览版)?
此产品目前适用于 GitHub Copilot Business 和企业计划。
此工具能否帮助将代码库迁移到 Azure?
有一个单独的工具来完成此任务。 有关详细信息,请参阅适用于 Java 的 GitHub Copilot 应用现代化(预览版)。
是否有适用于 .NET 的升级工具?
是的。 有关详细信息,请参阅 适用于 .NET 的 GitHub Copilot 应用现代化。
GitHub Copilot 应用现代化 - Java 升级(预览版)评估了哪种应用程序?
我们在各种开源存储库上验证了该工具,以确保升级后生成成功。 我们还在 Technical Preview 阶段与客户进行了广泛的合作。 用户反馈在优化体验方面发挥了关键作用。 若要参与,请参阅 在 GitHub Copilot 应用现代化 - Java 升级上提供反馈。
它是否支持 Spring Boot 和 JUnit 等框架和库升级?
是的。 尽管它的主要重点是 Java 运行时升级,但助手包括一个规划阶段,用于分析和推荐以下工具的更新:
- Spring Boot
- JUnit 和其他测试框架
- 其他第三方依赖项
可以编辑升级计划,以选择最符合兼容性和项目要求的版本。
目前,我们仅支持升级到 Spring Boot 2.7 和 3.2,但不久将支持更多版本。 如果在升级过程中指定了不同的 Spring Boot 版本,我们将选择最接近支持的版本。
支持哪种 Java 版本?
我们目前支持以下 Java 开发工具包(JDK)版本:
- JDK 8
- JDK 11
- JDK 17
- JDK 21
项目所需的最低 JDK 版本为 JDK 8,你可以升级项目以使用任何最高 JDK 21 版本。
支持哪些类型的 Java 项目?
目前,仅支持以下项目类型:
- Maven 项目(包括 Maven 包装器)
- Gradle 项目(仅限 Gradle 包装器,版本 5+)
不支持基于 Kotlin DSL 的 Gradle 项目。
使用此工具的作要求是什么?
若要确保作成功,需要以下信息:
- 项目类型。 该项目必须是使用 Maven 或 Gradle 构建的基于 Git 的 Java 项目。
- 目标 Java 版本 - 要升级到的 JDK 版本 - 例如 Java 21。
- 源和目标 JDK 路径 - 当前和目标版本的已安装 JDK 的路径。
- Maven/Gradle 设置 - Maven/Gradle 生成工具的路径。 对于 Gradle,仅支持 Gradle 包装器。
此工具的限制是什么?
目前,该扩展具有以下功能限制:
- 该扩展仅支持 Java 升级,不满足其他编程语言的需求。
- 它仅适用于使用 Maven 和 Gradle 生成的 Java 项目。
- 仅支持 Git 存储库。 其他版本控制系统不兼容。
- 扩展无法保证它建议的更改是最佳或被认为是最佳做法。
建议对此工具使用以下最佳做法:
- 仅在满足前面所述的指定特征的项目上运行扩展。
- 在将扩展输出合并到生产分支之前,请完成彻底的代码评审。
- 运行所有测试,并根据需要完成与更改管理过程关联的常规 QA 检查。
它是否存储我的代码?
否,该工具使用 GitHub Copilot 的方式与使用它修改代码的方式相同,该代码片段不会在直接会话之外保留代码片段。