Java近期资讯:Jakarta EE 12、Spring Shell、Open Liberty、Quarkus、Tomcat、JHipster、Gradle
Source: InfoQ - Backend
JDK 26
JDK 26的早期访问构建版本Build 33在上周发布,包括从Build 32的更新,修复了各种问题。关于该版本的更多细节可以在发布说明中找到。
JDK 27
JDK 27的早期访问构建版本Build 7也在上周发布,包含了从Build 6的更新,其中包括对各种问题的修复。关于这个版本的更多细节可以在发布说明中找到。
对于JDK 26和JDK 27,鼓励开发者通过Java Bug数据库报告缺陷。
Jakarta EE
在每周的 Hashtag Jakarta EE博客中,Eclipse基金会的Jakarta EE开发者倡导者 Ivar Grimstad提供了关于Jakarta EE 12的更新,他写道:
从过去几周Jakarta EE平台电话会议的讨论来看,我们似乎不会在北半球的夏天之前看到Jakarta EE 12的发布。
原因是由于Jakarta EE 11推迟了一年,大多数供应商目前正在进行他们的实现工作。这并没有留下多少资源来处理Jakarta EE 12的规范。
同时,我们希望赶上原计划和Jakarta EE工作组指导委员会的方向指令,即在Java的LTS发布后大约六到九个月发布Jakarta EE 12的主要版本。
因此,一个折中方案是在2026年底发布Jakarta EE 12。讨论仍在进行中,敬请期待更多更新。
几个规范已经达到了Jakarta EE 12的里程碑2版本的发布。这些包括:Jakarta Contexts and Dependency Injection 5.0;Jakarta Persistence 4.0;Jakarta Validation 4.0;Jakarta RESTful Web Services 5.0;Jakarta Query 1.0;Jakarta Data 1.1;和Jakarta NoSQL 1.1。
Spring框架
Spring Shell 4.0.1,第一个维护版本发布,提供了缺陷修复、文档改进、依赖升级和增强功能,例如:改进的CLI解析器,现在可以接受没有显式真或假值的布尔值;以及一个新的 DefaultCompletionProvider 类,一个 CompletionProvider 接口的默认实现,如果选项是枚举类型,则提供来自枚举值的补全。关于这个版本的更多细节可以在发布说明中找到。
Open Liberty
Open Liberty 26.0.0.1的GA版本特性包括:一个新的日志节流机制,默认启用,用于防止在短时间内重复发生相同的日志事件时产生过多的日志输出;以及解决显著的缺陷修复,例如:由于 NioSocketIOChannel 类的实例为空,导致 SocketRWChannelSelector 类中定义的 updateSelector() 方法出现 NullPointerException ;以及CVE-2025-12635,一个影响Open Liberty版本25.0.0.12及以下版本的漏洞,允许攻击者利用跨站脚本攻击,因为对用户提供的输入验证不当,以至于一个特别制作的URL可以重定向用户到恶意网站。
Quarkus
Quarkus 3.31的发布包括:缺陷修复、依赖升级和新功能,例如:全面支持JDK 25;一个新的Maven打包类型, quarkus ,一个针对Quarkus应用程序优化的Quarkus特定生命周期,提供改进的集成和更高效的生命周期构建;以及一个新的实验性扩展,Hibernate with Panache Next,旨在简化Hibernate ORM、Hibernate Reactive和Jakarta Data规范的持久性代码。关于这个版本的更多细节可以在版本3.31.1和版本3.31.0的发布说明中找到。
Apache Tomcat
Apache Tomcat的版本11.0.18、10.1.52和9.0.115提供了缺陷修复、依赖升级和显著变化,例如:默认情况下忽略 SSLHostConfig 类中 ciphers 属性包含的TLSv1.3密码套件,以保持他们在OpenSSL和JJava Secure Socket Extension(JSSE)规范实现中的配置一致性;以及解决由于调用 Java ClassLoader 类中定义的 getResource() 方法导致的Java URL类中定义的 getContent() 方法在某些情况下失败的回归问题。关于这些版本的更多细节可以在版本11.0.18、版本10.1.52和版本9.0.115的发布说明中找到。
JHipster
JHipster 9.0.0的第二个beta发布包括显著的变化,例如:支持Spring Boot 4.0;迁移到使用Spring Security @EnableWebSocketSecurity 注解,以取代已弃用的 AbstractSecurityWebSocketMessageBrokerConfigurer 类;以及对CI和测试基础设施的彻底检修。这个版本解决了在第一个beta版本(现已弃用)中发现的一个问题,该问题导致JHipster生成器不稳定。关于这些版本的更多细节可以在9.0.0-beta.2和9.0.0-beta.1版本的发布说明中找到。
Gradle
Gradle 9.3.1版本的发布解决了一些显著问题,例如:在使用包含非基本多语言平面(BMP)字符的文件名存储构建缓存输出时的失败;以及恢复了 ModuleVersionSelector 接口,但现在已弃用,以便可以将 ExternalDependency 和 DependencyConstraint 接口的实例传递给 DependencyResolveDetails 接口中定义的 useTarget() 方法。关于这个版本的更多详细信息可以在发布说明中找到。
原文链接:
https://www.infoq.com/news/2026/02/java-news-roundup-jan26-2026/