【问题标题】:class file version 54.0,Java Runtime only 52.0, while trying to run docker [duplicate]类文件版本 54.0,Java 运行时只有 52.0,同时尝试运行 docker [重复]
【发布时间】:2021-01-15 12:47:09
【问题描述】:

我正在尝试 dockerize 我的应用程序,当我尝试运行 docker run 命令时,我收到此错误。我尝试了很多人们说java和javac是不同版本的东西,但它们是相同的;这种情况有什么问题,我该如何解决?我将应用错误图片,以便您查看。我还需要回到以前的java版本吗?如何做到这一点?提前致谢! :)

【问题讨论】:

  • 如果com.redzone.RedZoneApplication是你的类,那么java(在Docker中)和javac(在你的开发机器上)不能是同一个版本;您已使用较新版本进行编译(这意味着升级 Docker 使用的 Java 或降级用于开发的 Java)。如果它是一个库类,那么您使用的是使用较新版本的 Java 编译的库(这意味着在 Docker 中升级 Java 或降级依赖项)。

标签: java spring-boot docker maven jbi


【解决方案1】:

您已经使用 Java 10 编译了代码。您的 docker 具有 Java 8 运行时环境。

【讨论】:

  • 我可以运行 Java 10 环境还是必须用 java 8 编译代码?
  • 如果你可以控制docker镜像,你可以改变java环境。如果您可以控制源代码,则可以使用 java 8 进行编译。
  • 如何让我的代码用java 8编译,我已经尝试添加:1.81.8 在 pom 文件的属性中,但是还是没有发生。
  • 您需要安装 JDK 8 并将您的 maven 指向它。如果您的环境中有多个 JDK,您可以使用 maven 工具链或 sdkman 等开发环境配置工具来更改特定项目的 JDK。
猜你喜欢
  • 2018-04-16
  • 2021-12-31
  • 2021-08-20
  • 2020-03-27
  • 1970-01-01
  • 2020-12-15
  • 2019-07-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多