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

本文描述了项目从 Java8 升级到 Java17,并同步升级 Spring Boot 到 3.x,Spring Cloud 到 2022.0.0.0 过程中遇到的问题及解决方案。主要问题包括:依赖冲突导致无法解析符号、缺少依赖导致 Spring Boot 启动失败等。解决方案包括:通过修改代码(使用正则表达式全局替换,例如将 `javax` 替换为 `jakarta`)以及添加必要的依赖(例如 `spring-cloud-starter-bootstrap`、`jakarta.websocket-client-api`、`pagehelper-spring-boot-starter` 和 `spring-cloud-starter-loadbalancer`)来解决这些问题。文章还提供了具体的 Maven 依赖示例,以帮助读者解决依赖冲突和缺少依赖问题。


@Scheduled定时不执行

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