Java兼容性 - 用较新的java构建的导入类

问题描述:

我正在开发一个项目,其中一些子项目需要使用较早的JDK构建。但是,同一子项目中的某些类从使用较新的JDK构建的第三方jar(另一个子项目)中导入类。我的问题是,如果运行时JDK是新的,那么可以导入这些类。例如: 我们假设,我的项目是使用JDK 1.6构建的。在其中一个类中,我需要从第三方jar(使用更新的JDK-1.8构建)导入类,我将创建对象和调用方法(没有特别的)。然后我将使用JDK 1.8运行我的项目。整个场景可能吗?Java兼容性 - 用较新的java构建的导入类

据我所知,你没有别的选择,然后用更高的语言水平编译你的所有代码。但是......如果你真的不能以任何奇怪的理由去做,你可以实施一次黑客攻击。您可以实现一个使用棘手依赖关系的Runnable。在一个单独的项目中完成,使用新的java进行编译,提供jar并通过您在项目中使用的DI注入Runnable。然后在你的遗留代码中调用run。

+0

谢谢你的回答,我很感激。但是我可以制作两个简单的项目并测试它,看看是否有效。但是,我需要在大型项目中做到这一点。我需要了解更多有关情况的信息,可能会出现问题。有任何限制吗? –

+0

@AleydinKaraimin它还没有炸毁我的项目,我目前无法猜测任何限制 –