首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java 8项目抛出在Java 11下运行的异常

Java 8项目抛出在Java 11下运行的异常
EN

Stack Overflow用户
提问于 2021-09-23 15:05:29
回答 1查看 176关注 0票数 0

我正在尝试将Maven应用程序迁移到Java11 (OpenJDK 11)。

首先,我希望通过release编译器选项编译我的Java8项目,并将其用于目标8。

编译工作良好,但是在运行我的JUnit测试时,测试会出现各种问题(Maven MyBatis tests fail when running Java 8 project compiled with Java 11)。

为了消除变量,我简化了流程,用Java 8编译器编译了应用程序(相对于Java 11,针对Java 8),然后用Java 11运行时运行我的测试--我仍然在经历异常。

我的理解是,您应该能够使用Java 11运行Java 8应用程序,因为它应该是向后兼容的。

我遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-09-23 15:41:31

我的理解是,您应该能够使用Java11运行Java8应用程序,因为它应该是向后兼容的。我遗漏了什么?

这是错误的。Java只是承诺不会轻易破坏兼容性。他们对“轻微”的解释有些不同,特别是在8到9的过渡时期(这一转变打破了很多,真的)。

有几个众所周知的问题。张贴错误,你可能会得到一些洞察力。无论如何,不,没有这样的保证:即使在用--release 8编译时。在这里,编译它的东西听起来也是完全不相关的--唯一决定您是否得到错误的变量是在JDK8或JDK11上运行生成的类文件。

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

https://stackoverflow.com/questions/69302560

复制
相关文章

相似问题

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