使用Java 8的Spring 3.2.x.

Thu*_*tne 5 java spring version java-8

我们目前正在使用spring 3.2.9.我们正在考虑将其升级到更新版本.当我检查文档时,它说明了这一点

与4.0 M1一起,我们发布了Spring Framework 3.2.3,其中包含针对最近报告的问题的修复,但也提供了OpenJDK 8运行时支持.对于针对JDK 7(使用-target 1.7)或更早版本编译的应用程序,Spring Framework 3.2.x将支持在JDK 8运行时上进行部署.

这是否意味着我无法在Java 8上编译?
如果我想用Java 8编译,我应该使用Spring 4.0.x版吗?

Bri*_*zel 5

从3.2.x开始,3.2.x中有JDK8的尽力支持.

有关3.2.9中的初始支持,请参阅SPR- 11656;有关3.2.10中的字节码支持改进,请参阅SPR- 11979.请注意评论中解释的支持限制.

要获得对JDK8的全面支持,请升级到Spring 4.x - 这是一个专门的维基页面,解释升级路径,Spring团队努力使升级体验变得非常简单.


BiA*_*AiB 5

根据我的观察,只要在扫描的路径中不使用新的 java8 语法(如 lambda),您实际上可以将 spring 3 与用 Java 8 编译的代码一起使用。

因此,您可以使用新的 API(流...),但不能使用新的语法(lambda...)。

当我尝试时,我最终遇到了启动错误,例如org.springframework.beans.factory.BeanDefinitionStoreException: 无法读取候选组件类