news 2026/1/10 1:13:20

如何用Java25编译Java17的项目

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用Java25编译Java17的项目

一、指定编译版本

用SDKman 下载一个25的JDK,IDEA会自动识别出来。直接指明就行

image

二、升级Lombok版本

25支持的lombok版本比较新,尽量用最新的,我用的是

<lombok.version>1.18.42</lombok.version>

三、指明编译插件

只升级了Lombok版本还不够,还要明确使用

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<version>3.14.1</version>

<configuration>

<release>17</release>

<!-- 不要使用 source和target,而是用release标签 -->

<annotationProcessors>

<annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor>

</annotationProcessors>

</configuration>

</plugin>

这样就能编译正常了,又快又好!

Java 25(JDK 25)是下一个长期支持版本(LTS),相对于 Java 17 有不少新特性和改进。

特性 概述 / 用处 是否成熟 / 风险 备注

Flexible Constructor Bodies(JEP 513) 允许在 super(...) 或 this(...) 调用之前执行代码,只要不读取未初始化字段。这样就可以在构造器里先做校验、预计算逻辑而不用绕开限制。 ✅ 已成为正式特性 对复杂继承关系中的构造逻辑更灵活

Compact Source Files & Instance Main Methods(JEP 512) 对于小型脚本、原型或入门程序,可以省略传统的类声明和静态 main 方法写法。可以写一个“隐式类”,void main()(非 static)也可以被当作程序入口用。 ✅ 正式特性 更方便快速试验、演示、小工具写法

Module Import Declarations(JEP 511) 在源代码里可以写 import module …; 来导入模块,使得使用模块系统时依赖关系更显式。 ✅ 正式特性 对用到 Java 平台模块系统 (JPMS) 的项目更友好

Scoped Values(JEP 506) 一种比 ThreadLocal 更现代、适应虚拟线程场景的机制,用于在一段执行上下文中共享不可变数据。 ✅ 正式特性 特别在并发 / 虚拟线程编程中更有用

性能 / 内存优化 - Compact Object Headers(JEP 519):对象头从 12 字节压缩到 8 字节

- Ahead-of-Time Method Profiling(JEP 515):提前收集 profiling 数据,加速 JVM 热身

- JFR 增强:CPU 时间剖析、方法级追踪、协作采样等

- Generational Shenandoah(JEP 521):支持世代回收

- 移除 32 位 x86 平台支持(JEP 503):精简运行时代码 大多已稳定,少数需显式开启 在大规模应用、高并发场景中可见收益

其它功能 / API - Key Derivation Function API(JEP 510)

- Primitive Types in Patterns(JEP 507,预览)

- 结构化并发(Structured Concurrency,JEP 505 预览)

- PEM Encodings of Cryptographic Objects(JEP 470 预览)

- 其它命令行、启动优化、压缩类指针调整等 部分为预览 / 孵化特性 使用时需考虑 API 稳定性与未来兼容性

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/8 5:08:01

插座工程量一键识别-图块统计告别人工点数

插座工程量一键识别-图块统计告别人工点数 电气图纸中插座数量种类繁多&#xff0c;传统人工逐个点数易疲劳、易出错。借助CAD快速看图的【图形识别】&#xff0c;可自动识别并分类统计各类插座工程量&#xff0c;一键生成工程量汇总表&#xff0c;实现插座工程量的高效精准计…

作者头像 李华
网站建设 2026/1/1 19:00:14

SQL必会必知整理-11-分组数据

11.1 数据分组SQL聚集函数可用来汇总数据。这使我们能够对行进行计数&#xff0c;计算和与平均数&#xff0c;获得最大和最小值而不用检索所有数据。但如果要返回每个供应商提供的产品数&#xff0c;或者返回只提供单项产品的供应商所提供的产品&#xff0c;或返回提供10个以上…

作者头像 李华
网站建设 2026/1/5 7:22:01

企业绩效管理痛点如何破?一体化智能平台实操方案

在企业人力资源管理中&#xff0c;绩效管理是连接员工发展与组织目标的关键环节。传统绩效管理模式常面临流程割裂、数据分散、反馈滞后等问题&#xff0c;导致绩效评估流于形式&#xff0c;难以真正发挥激励作用。而一体化智能绩效管理平台通过整合绩效流程、智能数据分析、全…

作者头像 李华
网站建设 2026/1/7 18:32:30

工业边缘节点应用:DeepSeek处理实时产线数据的低功耗配置方案

工业边缘节点应用&#xff1a;DeepSeek处理实时产线数据的低功耗配置方案摘要随着工业4.0和智能制造的深入发展&#xff0c;工业边缘计算作为连接物理世界与数字世界的桥梁&#xff0c;其重要性日益凸显。工业边缘节点部署于生产现场&#xff0c;负责实时采集、处理和分析产线数…

作者头像 李华
网站建设 2025/12/30 22:45:21

小程序毕设项目:基于springboot+微信小程序的公务员助学系统小程序的设计与实现(源码+文档,讲解、 调试运行,定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/1/1 9:20:29

Java计算机毕设之基于springboot+vue的少儿编程知识刷题学习系统基于Java的scratch少儿编程学习网站系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华