带有 Java 7 和 Java 8 的 Spring 3.2

问题描述 投票:0回答:1

我已阅读以下与 Spring 3.2 和 Java 8 兼容性问题相关的问题,但我仍然有几个未解决的问题。

Java 8 Spring 兼容性

spring-core 3.2.9 + java 8

带有 Java 8 的 Spring 3.2.x

假设有一个使用 Spring 3.2 的工件(例如 DAL),并且该工件必须在 java 7 服务(服务 A)和 java 8 服务(服务 B)之间共享。这些服务将针对各自的 Java/JVM 进行编译和运行。

现在的问题是 - 是否可以在 Service-A 和 Service-B 中使用 DAL?

根据片段 1,它应该可以工作,因为 Java 8 运行时支持针对 Java 7 编译的 Spring 3.2 库,但根据片段 2,这不应该工作,因为 Service-B 已经针对 java 8 进行了编译,并且它将使用 DAL已针对 java 7 进行编译。

片段1:

然而,一些 Spring 发行说明表示,Spring Framework 3.2.x 将支持针对 JDK 7(使用 -target 1.7)或更早版本编译的应用程序在 JDK 8 运行时上的部署。请注意,它不支持 JDK 8 的字节码格式(-target 1.8,根据 lambda 的需要);为此,请升级到 Spring Framework 4.0。

片段2:

早于 4.0M1 的 Spring 框架版本不适用于为 Java 8 编译的类。

java spring java-8 java-7 spring-3
1个回答
0
投票

使用 Spring 3.x 迁移到 Java 8 是没有意义的,最好迁移到 JDK 1.8 和 Spring 4.x。 JDK 8 迁移不应该成为问题,除非必须针对 JDK 8 功能更改代码。

Spring 3.2.9 将是 Java 8 字节码支持的最佳选择。

© www.soinside.com 2019 - 2024. All rights reserved.