使用生成式AI和Konveyor AI迁移JavaEE应用
静态代码分析 + 生成式AI
Konveyor AI是一个利用生成式AI和静态代码分析技术,将Java应用程序迁移到不同Java框架的工具,例如从JavaEE迁移到Quarkus或Spring,或从Spring 5迁移到6。去年我为Java Advent Calendar写过一篇关于此工具的详细文章。
最近,我们团队一直在努力为社区用户提供预览版本。本文将概述如何使用OpenAI安装和配置Konveyor AI,并生成有意义的迁移代码。不过为了简化说明,本文选择了OpenAI作为示例。用户可以选择许多其他模型,相关文档可在此处查看。
新版本的主要变化
新版本的一个重大变化是使用了代理机制。Kai现在使用代理来重新校准代码库。例如,当从LLM接收到修复方案后,Kai会检查其有效性以及是否与静态代码分析结果一致。它还会检查编译错误,最后使用Maven等工具编译代码,确保项目完整性。
最新版本0.0.11的显著变化
- Kai的后端(与LLM通信)现已集成到VSCode扩展中
- “Kai-FixAll"功能不再可用。现在可以更轻松地选择单个事件、文件或一组事件,例如选择整个项目中所有Java.*到Jakarta.*的转换,或选择所有@MessageDriven注解并将其转换为响应式消息等
- 此外,用户界面完全重新设计。通过引导式配置可以轻松设置Konveyor AI(provider-settings.json)
最有趣的变化是代理机制。Kai现在使用代理来重新校准代码库。
安装和使用
这里有一个短视频解释了安装过程、配置以及解决修复的基本用例。
目前我们每周都会发布新版本,有很多优秀的工作正在进行中。请不要忘记提供反馈,如果您有兴趣贡献代码,欢迎加入Kubernetes Slack社区(#Konveyor)。