本周 Java 汇总(2025 年 6 月 30 日):
- JDK 25:过去一周提供了 JDK 25 的构建 30,包含从构建 29 的更新,修复了各种问题,更多细节在发布说明中。
- JDK 26:同样在过去一周提供了 JDK 26 的构建 5,有从构建 4 的更新,修复了各种问题,详细信息在发布说明中。
- Spring Framework:Spring gRPC 0.9.0 发布,带来重要变化,如移除
GrpcClientFactoryCustomizer
,采用[GrpcChannelBuilderCustomizer](https://github.com/spring-projects/spring-grpc/blob/main/spring-grpc-core/src/main/java/org/springframework/grpc/client/GrpcChannelBuilderCustomizer.java)
接口,能使用 gRPC[InProcessServerBuilder](https://grpc.github.io/grpc-java/javadoc/io/grpc/inprocess/InProcessServerBuilder.html)
和[NettyServerBuilder](https://grpc.github.io/grpc-java/javadoc/io/grpc/netty/NettyServerBuilder.html)
类过滤全局拦截器和服务定义,与 Spring Boot 3.5.0 对齐,团队计划 11 月发布 1.0.0 版本,更多细节在新特性页面。 - Micronaut:Micronaut 基金会发布了Micronaut Framework4.9.0 版本,在Micronaut Core方面有改进,如新的
[@ClassImport](https://github.com/micronaut-projects/micronaut-core/blob/4.10.x/inject/src/main/java/io/micronaut/context/annotation/ClassImport.java)
注解可导入已编译的类集并像未编译类一样处理,新的Graceful Shutdown API可停止接受新任务并让已在进行的任务完成,还有实验模式可在 Netty[EventLoop](https://netty.io/4.1/api/io/netty/channel/EventLoop.html)
接口上运行虚拟线程,更多细节在发布说明中。 - Open Liberty:Open Liberty25.0.0.7 的测试版发布,支持MicroProfile 7.1,包括对MicroProfile Telemetry和MicroProfile Open API规范的更新。MicroProfile Telemetry 2.1 的新功能包括依赖升级到Awaitility4.2.2 以在 JDK 23 上运行 TCK,以及ThreadCountHandler类的改进指标以确保一致的文本描述;MicroProfile Open API 4.1 的新功能包括在
[OpenAPI](https://github.com/microprofile/microprofile-open-api/blob/main/api/src/main/java/org/eclipse/microprofile/openapi/models/OpenAPI.java)
接口中添加jsonSchemaDialect()
方法以渲染jsonSchemaDialect
字段,以及对[Extensible](https://github.com/microprofile/microprofile-open-api/blob/main/api/src/main/java/org/eclipse/microprofile/openapi/models/Extensible.java)
接口的小改进,在 JavaDoc 中添加@since
标签。 - Quarkus:Quarkus3.24.2 是第一个维护版本(跳过了 3.24.0 版本),带来重要变化,如解决在原生模式下使用 Hibernate ORM
[IdentifierGenerator](https://docs.jboss.org/hibernate/orm/7.0/javadocs/org/hibernate/id/IdentifierGenerator.html)
接口的自定义实现升级到 Hibernate 7.0 后的ClassNotFoundException
,以及使用 Jakarta Persistence@EmbeddedId
注解包含对另一个实体的引用时 Hibernate Reactive[ReactiveEmbeddableInitializerImpl](https://github.com/hibernate/hibernate-reactive/blob/main/hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/graph/embeddable/internal/ReactiveEmbeddableInitializerImpl.java)
类的ClassCastException
,更多细节在发布说明中。Quarkus 团队还宣布将淘汰其遗留配置类,新的@ConfigMapping
基础设施提供了统一的配置系统,即将发布的 Quarkus 版本将逐步淘汰并删除这些遗留配置类。 - JReleaser:JReleaser1.19.0 版本发布,提供新的标志
yolo
可让 JReleaser 跳过配置错误或缺少信息(如密钥或令牌)的部署或发布部分,以及在[MavenDeployer](https://github.com/jreleaser/jreleaser/blob/main/plugins/jreleaser-gradle-plugin/src/main/groovy/org/jreleaser/gradle/plugin/dsl/deploy/maven/MavenDeployer.groovy)
接口中添加第二个stagingRepository()
方法,接受 Gradle[RegularFile](https://github.com/gradle/gradle/blob/master/subprojects/core-api/src/main/java/org/gradle/api/file/RegularFile.java)
接口作为参数,更多细节在发布说明中。 - Apache Software Foundation:Apache Tomcat的 11.0.9、10.1.43 和 9.0.107 版本分别发布(这里、这里和这里),带来重要变化,如将Connector类中
maxPartCount
属性的默认值从 10 增加到 50 以解决[FileCountLimitExceededException](https://github.com/apache/tomcat/blob/main/java/org/apache/tomcat/util/http/fileupload/impl/FileCountLimitExceededException.java)
,以及对 HTTP/2 的各种改进,包括正确处理数据帧和在使用可选证书验证的 HTTP/2 时删除错误警告,更多细节在 11.0.9、10.1.43 和 9.0.107 的发布说明中。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。