写点什么

项目升级遇到的坑

作者:技术小生
  • 2022 年 7 月 22 日
  • 本文字数:561 字

    阅读完需:约 2 分钟

项目升级遇到的坑

背景

因为最近项目需要迁移,而 JDK17 现在属于稳定版本。于是,决定将之前的 Java 项目由 JDK8 升级到 JDK17。在升级时,考虑到 SpringBoot 版本需要与之匹配,目前 SpringBoot 的稳定版本是 2.7.1。所以,在将 JDK 升级到 17,SpringBoot 版本也升级到 2.7.1。那么,问题接踵而至。

问题

  • 遇到的问题就是项目连接 Apollo(携程开源的统一配置中心)报错

Exception in thread "main" java.lang.IllegalArgumentException: Cannot instantiate interface org.springframework.context.ApplicationContextInitializer : com.ctrip.framework.apollo.spring.boot.ApolloApplicationContextInitializer

服务无法启动。

由于旧版本的 apollo-client 不支持 JDK17,需要将 apollo-client 升级到 2.0 及以上。

  • 项目启动后,出现异常。信息如下:

看起来是 pageHelper 自动装配出现的循环依赖问题。确实在 SpringBoot2.6 以上明确禁止循环依赖,那么在 pageHelper 的 1.4.1 版本中解决了此问题。

总结

目前,项目是能够正常启动。但是,功能是否都能正常使用,还需要测试人员仔细进行测试。总之,项目升级是好事,保持项目与时俱进的活力。但是,如果不懂原理瞎升级,就可能埋下连自己都不知道的坑,可能某一天就会造成无法挽回的事故和损失。

发布于: 3 小时前阅读数: 11
用户头像

技术小生

关注

业务应用架构专家 2019.10.08 加入

主要负责公司内部系统的应用架构设计与落地。擅长Java语言开发,熟悉Python、Shell等。精通K8S等云原生相关技术。

评论

发布
暂无评论
项目升级遇到的坑_7月月更_技术小生_InfoQ写作社区