当前位置: 首页 > 知识库问答 >
问题:

对于 Java 9,我需要Spring 5 吗?

万乐逸
2023-03-14

Spring5被宣传为“支持JDK9”,同时Spring4.3.13的文档声明它支持Java8(以及6和7)。

这是否意味着我需要升级到Spring 5才能

  • JRE 9中运行我的应用程序
  • 使用JDK9编译我的应用程序

共有2个答案

齐成和
2023-03-14

出于所有这些原因,如果您计划使用Java9编译使用Spring 4. x构建的代码,它应该可以根据Java9的后置词兼容性正常工作,尽管这对于某些实现存在疑问,并且准确的答案将取决于您在前进并尝试事物时对Spring的使用。

Spring框架的5.0.0-RC1版本是在支持Java8的情况下发布的。该公告还包括为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"

值得期待的好消息是:

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

关于Java 9的Spring引导,要求是明确的,因此2.x和1.x是分开分类的:

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

要关注相同的更新,您可以关注Java 9主题跟踪器以及正在进行的2.0。

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

邵展
2023-03-14

在Spring官方博客上,他们宣布Spring 4.2将支持Java 7和8(在4.3中没有改变),他们还表示Spring 5将支持Java 9。

这意味着Spring4不支持Java9。

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

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

因为“不支持”仅仅意味着你不能确定行为,如果你正在使用Java9中任何改变的东西,你应该考虑迁移(除非你能先测试它)。

Spring引导 1.x 不支持 Java9。如果要使用它,则必须迁移到Spring启动2.x。

 类似资料:
  • 在模块声明中,requires和requires可传递模块语句之间有什么区别 例如:

  • 我没有在现实世界的Web项目上工作。在大学里,我们使用Servlets和Spring进行Java Web开发。在这两个项目中,我们都得到了已经配置的web.xml文件,我们只对它们进行了微小的更改。现在我需要从头开始构建一个 Web 应用。我在Eclipse中创建了新的Servlet类,它没有自动创建任何web.xml。然后我用谷歌搜索,我从几个资源中读到,web.xml并不是真正需要的,但是这个

  • 问题内容: 据我了解,使用a的“正确”方法是始终在退出块之前调用。像这样: 但是,我已经看到,没有它,代码就可以工作,甚至我从中也学会了使用它的答案 。所以我的问题是,是否必须使用它? 问题答案: 所以我的问题是,是否必须使用它? 为了进行交易而进行更新时必须使用。否则,事务管理器将发出并撤消所做的更改。 对于像您的示例这样的只读事务,无论有没有,我都认为没有实质性的区别。在这两种情况下,由事务管

  • 这就产生了 因为一个包是在两个模块中定义的。所以现在我必须在主模块和测试模块有不同的项目,这不方便。 我觉得我走错了路,一切开始变得很难看。我如何在测试代码中拥有自己的,或者没有它我如何实现相同的效果(等)?

  • 问题内容: 我有一个网站,它的点击率很高,我遇到了问题,JDCB连接错误。 我对关闭有点困惑,我需要关闭还是仅关闭就足够了。 另外,我需要关闭它吗? 问题答案: 是的,您必须关闭PreparedStatement和结果集,因为它们可能导致内存泄漏。有关更多信息,请访问 http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html

  • 我用Java 8创建了一个Java应用程序。 我已将其部署到服务器,并出现以下错误: 当我运行java版本时,我得到了以下信息: 我以前没见过这个。我需要安装JRE 8吗?