JAVA架构升级:Springboo2.5.14 升级至Springboo3.1.7 JDK11 升级JDK21

架构升级:Springboo2.5.14 升级至Springboo3.1.7 JDK11 升级JDK21

    • 依赖升级
    • 问题记录
      • 问题1、gradle 7.5.1 升级至8.5
      • 问题2、intellij idea 由 2022.1 升级至 2023.3.2
      • 问题3、springboot 版本支持问题 升级至3.1.7
      • 问题4、lombok 升级至1.18.30
      • 问题5、javax. 包转为 jakarta. 包
      • 问题6、本项目使用log4j2要排除logback依赖
      • 问题7、如依赖cn.hutool 升级至5.8.23+
      • 问题8、springfox-swagger2 升级到 springdoc 2.3.0
      • 问题9、fastjson fastjson2升级到 2.0.45
      • 问题10、’dubbo”2.4.9’升级至 2.6.9
      • 问题11、 job center 由1.1.8 升级至1.1.15
      • 问题12、druid 1.2.16升级至 1.2.21
      • 问题13、redis 配置调整
      • 补充14、mysql 依赖包调整 com.mysql:mysql-connector-j

依赖升级

Gradle 7.5.1 ---> 8.5
intellij idea 2022.1 ---> 2023.3.2
Springboot 2.5.14 ---> 3.1.17
Lombok 1.18.24 ---> 1.18.30
hutool-all 5.1.1 ---> 5.8.23
springfox-swagger2 ---> springdoc 2.3.0
fastjson、fastjson2 ---> 2.0.45
dubbo 2.4.9  --->  2.6.9
druid 1.2.16  --->  1.2.21

问题记录

问题1、gradle 7.5.1 升级至8.5

Unsupported Java. 
Your build is currently configured to use Java 21.0.1 and Gradle 7.5.1.
Possible solution:
 - Use Java 18 as Gradle JVM: Open Gradle settings 
 - Upgrade Gradle wrapper to 8.5 version and re-import the project

问题2、intellij idea 由 2022.1 升级至 2023.3.2

问题3、springboot 版本支持问题 升级至3.1.7

id 'org.springframework.boot' version '3.1.7'
id 'io.spring.dependency-management' version '1.1.4'

问题4、lombok 升级至1.18.30

Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field ‘com.sun.tools.javac.tree.JCTree qualid’

处理:lombok版本兼容性的问题 :依赖更新新版 lombok 为 1.18.30 即可

compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.30'
annotationProcessor group: 'org.projectlombok', name: 'lombok', version: '1.18.30'

问题5、javax. 包转为 jakarta. 包

错误: 找不到符号import javax.annotation.Resource;
错误: 程序包javax.servlet.http不存在import javax.servlet.http.HttpServletRequest;

处理新包路径引入

import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;

在这里插入图片描述

在这里插入图片描述

问题6、本项目使用log4j2要排除logback依赖

//去除logback
implementation.exclude group: 'ch.qos.logback'

问题7、如依赖cn.hutool 升级至5.8.23+

cn.hutool:hutool-all 5.1.1 升级至5.8.23

问题8、springfox-swagger2 升级到 springdoc 2.3.0

文档:https://springdoc.org/index.html#javadoc-support

//补充javax 依赖
implementation 'javax.servlet:javax.servlet-api:4.0.1'

应用主类添加注解@EnableOpenApi (swagger2是@EnableSwagger2)

swagger配置类SwaggerProperties.class,与swagger2.xx 版本有差异,具体看下文

自定义一个配置类 SwaggerConfiguration.class,看下文

访问地址:http://localhost:8080/swagger-ui/index.html

(swagger2.xx版本访问的地址为http://localhost:8080/swagger-ui.html)

//替换为springdoc
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0'

问题9、fastjson fastjson2升级到 2.0.45

implementation "com.alibaba:fastjson:2.0.45"
implementation "com.alibaba.fastjson2:fastjson2:2.0.45"

问题10、‘dubbo’’2.4.9’升级至 2.6.9

implementation(group: 'com.alibaba', name: 'dubbo', version:'2.6.9')

问题11、 job center 由1.1.8 升级至1.1.15

// job
implementation(group: 'com.nxin.framework', name: 'job-center-client', version: '1.1.15')
implementation(group: 'com.nxin.framework', name: 'job-center-core', version: '1.1.15')

问题12、druid 1.2.16升级至 1.2.21

implementation 'com.alibaba:druid-spring-boot-starter:1.2.21'
implementation group: 'com.alibaba', name: 'druid', version:"$druidVersion"

问题13、redis 配置调整

#redis配置
spring.data.redis.host = ${redis}
spring.data.redis.port = 6379
spring.data.redis.password = ******
spring.data.redis.database = 12
spring.data.redis.timeout = 60000
spring.data.redis.lettuce.pool.max-wait = 30000
spring.data.redis.lettuce.pool.max-idle = 10
spring.data.redis.lettuce.pool.max-active = 10

补充14、mysql 依赖包调整 com.mysql:mysql-connector-j

//    runtimeOnly 'mysql:mysql-connector-java:8.0.33'
    runtimeOnly 'com.mysql:mysql-connector-j'

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/7edb1163a5.html