项目升级java17遇到的问题与解决方案

本文介绍了将项目从 Java 8 升级到 Java 17,并升级 Spring Boot 到 3.x 和 Spring Cloud 到 2022.0.0.0 过程中遇到的问题及解决方案。主要问题包括:代码修改(例如,将 `javax` 包替换为 `jakarta` 包,更新 Swagger 注解等),以及依赖冲突导致的 `No spring.config.import property has been defined`、`无法解析符号 'Session'` 等错误。解决方案包括添加必要的依赖,例如 `spring-cloud-starter-bootstrap`、`jakarta.websocket-client-api`,以及修正 `pagehelper` 等依赖的版本以解决兼容性问题,以及`spring-cloud-starter-loadbalancer` 依赖。文章提供了具体的 Maven 依赖修改示例。


@Scheduled定时不执行

Spring Boot下@Scheduled定时任务不执行可能由三个原因导致:1. 启动类未添加@EnableScheduling注解;2. 定时任务类未被Spring扫描到,需要添加@Component或@Service注解;3. 定时任务位于Controller类中,应将其移动到Service层或单独的组件类中。 解决方法分别为:在启动类添加@EnableScheduling注解,在定时任务类添加@Component或@Service注解,以及将定时任务移至Service层或独立的Service类并添加@Component注解。