SpringBoot升级全纪录之Maven打包
- 1、错误: 不支持发行版本 1.17
- 2、Unable to make field private com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors com.sun.tools.javac.processing.JavacProcessingEnvironment.discoveredProcs accessible: module jdk.compiler does not "opens com.sun.tools.javac.processing" to unnamed module @409e8809
- 3、Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid'
- 4、程序包javax.annotation不存在
- 5、找不到符号 javax.servlet.WriteListener
- 6、Method does not override method from its superclass
- 7、找不到符号BASE64Decoder、BASE64Encoder
- 8、无法访问jakarta.servlet.http.HttpServletRequest
- 9、javax.validation.constraints.NotEmpty 报错
- 10、@Autowired提示:Field injection is not recommended
- 11、找不到引用包的类
查看当前最新的Spring Boot版本:https://spring.io/projects/spring-boot#learn
查看支持的JDK版本:https://docs.spring.io/spring-boot/system-requirements.html
JDK官网下载:https://www.oracle.com/java/technologies/downloads/#jdk17-windows
背景: 将SpringBoot由 2.1.5 升级至 3.3.0
1、错误: 不支持发行版本 1.17
原因:项目的JDK版本,和project版本不匹配
解决:https://blog.csdn.net/qq_38254635/article/details/140993644
2、Unable to make field private com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors com.sun.tools.javac.processing.JavacProcessingEnvironment.discoveredProcs accessible: module jdk.compiler does not “opens com.sun.tools.javac.processing” to unnamed module @409e8809
原因:lombok版本过低
解决:https://blog.csdn.net/qq_38254635/article/details/140993089
3、Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field ‘com.sun.tools.javac.tree.JCTree qualid’
原因:项目的JDK版本,和project版本不匹配
解决:https://blog.csdn.net/qq_38254635/article/details/140993475
4、程序包javax.annotation不存在
原因:JDK1.8升级到17后,由于Java EE已经变更为Jakarta EE,包名以 javax 开头的需要改为 jakarta
解决:https://blog.csdn.net/qq_38254635/article/details/140994518
5、找不到符号 javax.servlet.WriteListener
原因:JDK1.8升级到17后,部分包需手动引入
解决:https://blog.csdn.net/qq_38254635/article/details/140995170
6、Method does not override method from its superclass
原因:JDK1.8升级到高版本后,其不再支持覆写。
解决:https://blog.csdn.net/qq_38254635/article/details/140995380
7、找不到符号BASE64Decoder、BASE64Encoder
原因:JDK1.8升级到高版本后,其不再支持BASE64Decoder、BASE64Encoder。
解决:https://blog.csdn.net/qq_38254635/article/details/140996321
8、无法访问jakarta.servlet.http.HttpServletRequest
原因:JDK1.8升级到高版本后,需要手动引入jakarta.servlet-api。
解决:https://blog.csdn.net/qq_38254635/article/details/140996796
9、javax.validation.constraints.NotEmpty 报错
原因:validation-api版本较低。
解决:https://blog.csdn.net/qq_38254635/article/details/140997009
10、@Autowired提示:Field injection is not recommended
原因:要基于构造函数进行依赖注入
解决:https://blog.csdn.net/qq_38254635/article/details/140997536
11、找不到引用包的类
原因:pom需要增加compile
解决:https://blog.csdn.net/qq_38254635/article/details/140997486
OK,暂时记录到这里吧。
有什么不对的还望指正,书写不易,觉得有帮助就点个赞吧!☺☺☺