我需要Spring 5 for Java 9吗?

Dav*_*vid 12 java spring spring-boot java-9

Spring 5被宣传为"支持JDK 9",同时Spring 4.3.13的文档声明它支持Java 8(以及6和7).

这是否意味着我需要在可以之前升级到Spring 5

  • 在JRE 9中运行我的应用程序?
  • 使用JDK 9编译我的应用程序?

Nat*_*han 12

弹簧

Spring官方博客上,他们宣布Spring 4.2将支持Java 7和8(它在4.3中没有变化),并且他们还说Spring 5将支持Java 9.

暗示Spring 4不支持Java 9.

但这取决于你正在做什么:在这个博客上,作者在Spring 4上测试Java9,他说:

但是,在我们开始之前,快速免责声明:我将演示如何将Spring 4.x/Spring Boot 1.x应用程序迁移到Java 9.据我所知,在Java 9中几乎没有正式支持到目前为止,一旦我运行了应用程序,我就没有遇到过很多问题,但是,由于这些主要是概念证据,因此尚未经过彻底的审查.

因为"不支持"只意味着你不确定这个组合,如果你在Java9中使用任何改变的东西,你应该考虑迁移(除非你可以先测试它).


春季启动

Spring boot 1.x 不支持 Java9.如果要使用它,则必须迁移到Spring Boot 2.x.


Nam*_*man 5

实际

为了这一点,如果你打算用Spring9编译用Spring 4.x构建的代码,它应该可以正常工作,基于Java9的后备兼容性,虽然对某些实现有疑问,但是精确的答案会依赖于Java9当你前进并尝试一些事情时,你对弹簧的使用.

理论

Spring框架的5.0.0-RC1版本在Java 8+的支持下宣布.该公告还包括为Java9宣布的与开发有关的主题: -

为JDK 9做好准备:在运行时,在类路径和模块路径上完全与JDK 9对齐(在后者上:暂时作为基于文件名的"自动模块").

此候选人目前可从2017年11月1日起使用,可以使用

repositories {
    maven { url 'http://repo.spring.io/libs-milestone' }
}

compile "org.springframework.integration:spring-integration-core:5.0.0.RC1"
Run Code Online (Sandbox Code Playgroud)

在该说明中寻找的某些好消息是:

我们期待GA在几周内 - 正好赶上Spring Boot 2.0 GA!


使用Java 9的Spring Boot相关,要求很明显,2.x与1.x分开分类:

Spring Boot 2是第一个支持Java 9的版本(也支持Java 8).如果您使用1.5并希望使用Java 9,则应升级到2.0,因为我们没有计划在Spring Boot 1.5.x上支持Java 9.

要密切关注相同的更新,您可以关注Java 9主题跟踪器以及2.0 in Progress.

因此,理想的世界是,迁移到使用Spring 5.x/Spring Boot 2.x和Java 9来获得对最新功能的支持以及进一步发现的任何不兼容性.