【问题标题】:Can a java 8 project depend on a java 11 dependency in gradlejava 8项目可以依赖gradle中的java 11依赖吗
【发布时间】:2021-08-27 02:11:55
【问题描述】:

我有一个 Java 8 项目,并试图利用一个用 Java 11 编写的库。我收到一个错误:

类文件的版本错误 55.0,应该是 52.0

这是基本不可能的事情,还是有一些 Gradle 配置允许 Java 8 项目使用编写和编译为 Java 11 的库?

【问题讨论】:

  • 项目的版本无关紧要,运行它的 JVM 版本很重要。它必须至少是任何依赖项的版本
  • 不幸的是,它是 Java 8,所以我想那不是。谢谢。

标签: java gradle dependencies


【解决方案1】:

简短的回答是肯定的,您可以在 Java 8 项目中使用 Java 11 依赖项。

当您尝试在 Java 8 运行时环境中加载使用 Java 11 编译的 Java 类时,会发生以下错误 class file has wrong version 55.0, should be 52.0,编译后的类的版本与旧的运行时环境版本不兼容。

为了能够使用 Java 11 依赖项运行您的 Java 8 项目,您需要在 Java 11 运行时环境中运行您的项目,在大多数情况下,无需更改源代码(有时您将需要显式添加一些从 Java 11 中删除的依赖项,例如 Java EE 和 Corba 模块)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    相关资源
    最近更新 更多