@levinzhang
2022-02-15T22:29:01.000000Z
字数 4552
阅读 624
by
本期的Java新闻综述的消息包括OpenJDK、JDK 18、JDK 19、Loom和Panama项目、Jakarta EE、Groovy 4.0、Spring Framework更新、Micronaut 3.3.0、GraalVM 22.0 CE、Liberica NIK、MicroProfile Reactive Streams Operators 3.0-RC1、Hibernate更新、JHipster 7.6、IntelliJ IDEA 2021.3.2、JReleaser早期访问版本、Apache Camel与Camel K以及Foojay.io的FOSDEM。
本期的Java新闻综述的消息包括OpenJDK、JDK 18、JDK 19、Loom和Panama项目、Jakarta EE、Groovy 4.0、Spring Framework更新、Micronaut 3.3.0、GraalVM 22.0 CE、Liberica NIK、MicroProfile Reactive Streams Operators 3.0-RC1、Hibernate更新、JHipster 7.6、IntelliJ IDEA 2021.3.2、JReleaser早期访问版本、Apache Camel与Camel K以及Foojay.io的FOSDEM。
甲骨文公司的首席技术人员Jonathan Gibbons日前宣布,jtreg 6.2版本(JDK测试框架中用来编写回归测试的工具)将会是支持旧版本JDK的最后一个版本。正如Gibbons所述:
从JDK 9开始,
jtreg
一直被限制为兼容JDK 8进行编译,所以我们能够编译代码的某些部分以便在旧版本上运行,这实际上意味着整个jtreg
被限制只能使用JDK 8中的API和语言特性。
这个变更会使代码库更加现代化,将会需要JDK 11或JDK 17作为最小版本。
JDK 18早期访问构建 的Build 33版本已经发布,它是对Build 32的更新,包括了对各种问题的修复。更多细节可以在发布说明中找到。
JDK 19早期访问构建的Build 7版本已经发布,它是对Build 6的更新,包含了对各种问题的修复。更多细节可以在发布说明中找到。
对于JDK 18和JDK 19,欢迎开发者通过Java Bug数据库报告缺陷。
Loom项目早期访问构建的Build 19-loom+2-58版本已经面向Java社区发布,它是基于JDK 19早期访问构建Build 6的。
Panama项目早期访问构建的Build 19-panama+1-13版本也已经面向社区发布,它基于JDK 19的一个不完整版本,其特性是将jextract
工具与JDK 18保持一致。
来自Eclipse基金会的Jakarta EE开发人员倡导者Ivar Grimstad在他的Hashtag Jakarta EE每周博客中宣布,Jakarta EE规范委员会(Jakarta EE Specification Committee)已经批准了一项新的规范,即Jakarta RPC。这个新规范将专注于在Jakarta EE生态系统中构建基于gRPC的应用。如果开发者对参与Jakarta RPC感兴趣,欢迎加入Jakarta RPC邮件列表。
期待已久的Groovy 4.0.0业已面向Java社区发布,相对于RC-2版本,它包含了28个缺陷修复/改进,相对于Groovy 3.0.0版本,它包含了800多个新特性、改进和缺陷修复。这包括switch表达式、record、密闭类型以及Groovy集成查询(Groovy-Integrated Query,GINQ),这是一个类似于SQL语法用来进行查询的DSL。更多细节可以参阅发布说明。
在通向Spring Cloud 2022.0.0(代号为Kilburn)版本的道路上,第一个里程碑版本业已发布。与Spring Framework 6.0和Spring Boot 3.0一样,Spring Cloud 2022.0.0的GA版本需要JDK 17+并且会与Jakarta EE 9保持一致。更多的细节,包括一些破坏性的变更,可以参阅发布说明。
Spring Initializr 0.12.0已经发布,其中包含10个缺陷修复和增强,并且将依赖升级到了Gradle 7.3.3、Maven 3.8.4、Maven Resolver 1.7.3、Maven Resolver Provider 3.8.4和Spring Boot 2.6.3。更多细节可以在发布说明中找到。
Spring Native 0.11.2业已发布,包含30个缺陷修复、文档的增强以及依赖的升级。一些新的特性包括:通过使用-DskipTests
标记以防止生成不必要的Maven AOT测试源;当探测到logback.xml
时,生成有意义的错误信息;在AOT模式下,正确地禁用spring-boot-devtools
模块。
Spring Authorization Server 0.2.2发布,该版本包含了新的特性、缺陷修复和依赖升级。更多细节可以参阅发布说明,另外,该示例应用也可以帮助开发者入门。
Micronaut基金会发布了Micronaut 3.3.0,其中包括了对GraalVM 22.0.0的支持,并且引入了一个新的模块Micronaut Email,借助该模块能够在Micronaut应用中更高效地发送电子邮件。更多细节可以在发布说明中找到。
Micronaut还宣布,鉴于存在两个不合规的实例,Let’s Encrypt撤销了从2022年1月26日到1月28日使用其TLS与ALPN验证方法的证书。这可能会影响到使用Micronaut Acme来更新安全证书的开发者。
在之前的Java新闻综述中,InfoQ曾经报道过GraalVM 22.0企业版发布的消息,而因为要进行一些额外的测试,社区版的提供时间有所延迟。最近,针对JDK 11和JDK 17的GraalVM 22.0社区版已经发布,其特性是改进了原生镜像工具的构建时间和内存使用。InfoQ在新闻报道中提供了更多细节。
BellSoft发布了新Liberica原生镜像工具包(Liberica Native Image Kit,NIK)的22.0.0.2版本,以及升级版本21.3.1。新的特性包括:在MacOS下的Liberica NIK中支持OpenJFX,并且在所有版本的NIK中默认包含了native-image
工具,从而避免使用gu
工具单独安装它。
在通往MicroProfile Reactive Streams Operators 3.0的道路上,第一个候选版本已经发布,特性包括与Jakarta EE 9.1保持一致,并重构Java ServiceLoader类中的load()
方法,以便于在实现ReactiveStreamsEngine和ReactiveStreamsFactory接口时作为一个PrivilegedAction,从而解决使用WildFly时的安全问题。更多的细节可以在发布说明中找到。
Hibernate Search 6.1.0.Final版本发布,其特性包括通过outbox-polling协调策略支持异步、分布式的自动化索引;兼容Elasticsearch 7.16以及OpenSearch 1.0和1.2版本;使用DSL语言改进搜索的新断言(predicate)。
Hibernate ORM 5.6.5.Final版本发布,特性包括改进对H2数据库最新版本2.1.210的兼容性,但是依然建议开发人员查看H2数据库的变更日志,并根据需要更新脚本、ORM映射和H2配置。
在通往Hibernate ORM 6.0的道路上,第一个候选版本已经发布,包括通过@CollectionType或@CollectionTypeRegistration注解实现对UserCollectionType接口的支持。鼓励开发者查看用户指南。
JHipster的7.6.0版本业已发布,包括如下的特性:依赖升级到Spring Boot 2.6.3;修复Vue的userManagementService问题;修复使用Angular时,更新到之前的JHipster 7.5.0版本后,web不更新的Browsersync的问题;以及一些库的升级。更多细节可以参阅发布说明。
JetBrains发布了IntelliJ IDEA 2021.3.2,该版本修复了一些功能,例如,macOS上的Cmd-N(⌘N)在调用File->New后不能打开Generate对话框;不必要的索引重新扫描;以及YAML文件的缩进问题。更多的细节可以在发布说明中找到。
JReleaser是一个简化项目发布的Java工具,它的早期访问版本包括如下的特性:对Docker规范的修复;Archive发布类型中对null
的检查;以及将check-multi-line-strings属性的默认值从true
改为false
。InfoQ计划在JReleaser 1.0.0的GA版本发布时跟进发布更详细的新闻报道。
Apache软件基金会在Camel 3.14发布列车中提供了一个新的LTS小版本。3.14.1版本有47个缺陷修复和改进,并对Log4j2的2.16.0、2.17.0和2.17.1版本、Logback 1.2.8、camel-spring-boot 2.6.3和bouncycastle 1.70进行了依赖性升级。
Apache Camel K的1.8版本已经发布,其特性包括支持KEDA(Kubernetes Event-Driven Autoscaling),这将使开发人员能够更有效地提供传入事件的自动缩放功能。关于这个新功能的更多细节可以参阅这篇博客文章。
Camel K是一个轻量级的集成框架,基于Camel K Runtime 1.11.0、Camel Quarkus 2.6.0、Camel 3.14.0和Camel Kamelets 0.7.0构建。
OpenJDK之友(Friends of OpenJDK),Foojay.io,是一个Java生态系统的社区平台,会在FOSDEM 2022会议上主持他们自己的developer rooms,该会议定于2022年2月5日至6日(周六至周日)举行。
FOSDEM是一个由志愿者组织的为期两天的活动,旨在促进自由和开源软件的广泛使用,将提供一些议题和其他developer rooms,又称devrooms,由其他组织和社区主办。
查看英文原文:Java News Roundup: Loom and Panama Updates, Groovy 4.0, GraalVM 22.0 CE, Jakarta EE RPC