首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以编译更新的Java版本(9、10、11)以在旧平台(例如Java 8)上运行吗?

可以编译更新的Java版本(9、10、11)以在旧平台(例如Java 8)上运行吗?
EN

Stack Overflow用户
提问于 2019-03-28 14:34:52
回答 2查看 234关注 0票数 4

是否可以使用更新的Java (例如9、10、11等)进行开发?版本,并将Java编译成一些较旧的版本--比如Java 8?

我们希望使用新的Java版本的新特性,但是我们的代码需要运行在Java 8平台上。

如果有关系的话:我们正在和Maven一起建设。

用Javascript的方式来表述它:

是否存在Java的Babel填充等价?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-28 14:44:01

不-您不能在较旧的JVM上使用新特性;bytecode is incompatible

您绝对可以使用较新版本的Java编译到更低的版本,并对模块进行一些警告。

如果您需要更新Java版本的新特性,那么是时候迁移到一个新版本了;除此之外,在需要Oracle的支持之前,您的位置是可以的。

票数 6
EN

Stack Overflow用户

发布于 2019-03-28 14:38:47

不一定。如果您的代码使用以前版本中未定义的包/语法结构,则程序将无法运行/编译。

这样想吧。在Java 8之前,没有lambda表达式。因此,如果您在Java 8+中创建一个lambda表达式,然后尝试在java 7中编译它,编译器将是这样的:什么是lambda表达式?

总之不行。然而,你可以走另一条路。使用较高版本编译用较低版本编写的代码.大部分。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55400249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档