当前位置: 首页 > news >正文

Solon 项目升级 JDK 25

说明

Solon 默认是支持 JDK 25 的(JDK 25 的更新内容可以自行搜索),于是尝试把现有的项目升级生成到 JDK 25。当前项目使用 JDK 17,通过 Gradle 进行管理。

需要变更的内容不多,以下为具体的步骤。

步骤

  • 需要准备 JDK 25,可以通过 IDEA 自动下载 JDK,我这里选择的是 temurin-25 版本(具体版本可以 IDEA 的列表)。

  • 修改编译的 JDK 版本 build.gradle 中指定。

    def jdkVersion = 25
    java {toolchain {languageVersion = JavaLanguageVersion.of("${jdkVersion}")}
    }
    
  • 修改项目结构中的 SDK 和 Language Level 为 temurin-25 和 SDK default。

  • 修改 IDEA 设置中的 Gradle JVM 为 temurin-25。

  • 修改 gradle-wrapper.properties中的版本为9.2.0

    distributionBase=GRADLE_USER_HOME
    distributionPath=wrapper/dists
    distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip
    zipStoreBase=GRADLE_USER_HOME
    zipStorePath=wrapper/dists
    
  • 如果有使用 lombok 插件,需要升级到 9.0.0 版本。

    plugins {id 'java'id "io.freefair.lombok" version "9.0.0"
    }
    

    如果编译的时候提示Execution failed for java.lang.ExceptionInInitializerError,应该就是 lombok 版本太低了。

补充

因为没有使用 Maven 管理项目,没有验证。如果使用 Maven 的同学,可以参考 https://junkangworld.com/blog/lombok-jdk-25-the-ultimate-2025-compatibility-guide。

http://www.dtcms.com/a/548556.html

相关文章:

  • 手写自己的小型react
  • 3秒传输GB级文件:FastSend让P2P共享告别云存储依赖
  • 【Docker】P2 Docker 命令:从Nginx部署到镜像分享的全流程指南
  • VLAN协议简介
  • 递归专题1 - 递归基础与思维方法
  • 黄金分割与对数螺线
  • Vue 数据绑定深入浅出:从 v-bind 到 v-model 的实战指南
  • python - day10
  • MySQL 中的 行锁(Record Lock) 和 间隙锁(Gap Lock)
  • 【Docker】P1 Docker 基础入门指南
  • 【OD刷题笔记】- API集群负载统计
  • 韩城市网站建设wordpress 手工网站
  • Java—常见API(String、ArrayList)
  • 【STM32项目开源】STM32单片机医疗点滴控制系统
  • 游戏类网站备案需要前置审批吗怎么制作图片表格
  • AWS EC2 服务器弹性伸缩:基于 CPU 使用率创建伸缩组,实现资源动态调整
  • srt服务器,推拉流
  • Rust API 设计中的零成本抽象原则:从原理到实践的平衡艺术
  • Work-Stealing 调度算法:Rust 异步运行时的核心引擎
  • 服务器恶意进程排查:从 top 命令定位到病毒文件删除的实战步骤
  • 【案例实战】初探鸿蒙开放能力:从好奇到实战的技术发现之旅
  • 服务器启动的时候就一个对外的端口,如何同时连接多个客户端?
  • LVS负载均衡集群理论详解
  • 三维重建【0-E】3D Gaussian Splatting:相机标定原理与步骤
  • Flutter---ListTile列表项组件
  • Spring Boot入门篇:快速搭建你的第一个Spring Boot应用
  • 《算法通关指南数据结构和算法篇(1)--- 顺序表相关算法题》
  • ReentrantLock 加锁与解锁流程详解(源码分析,小白易懂)
  • 鸿蒙Flutter三方库适配指南:06.插件适配原理
  • Linux 防火墙实战:用 firewalld 配置 External/Internal 区域,实现 NAT 内网共享上网