【发布时间】:2021-02-02 16:25:17
【问题描述】:
我正在测试 Play,我使用的是 Oracle Java 1.8。当我下载 Play Java Starter 示例并使用单个模型启用 Ebean 时,我得到:
Unsupported class file major version 58
错误。在我的 plugins.sbt 我有:
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.1")
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "6.0.0")
并且正在使用 Play 中的所有默认设置。这以前可以工作,但最近它不起作用。我相信“guice”或“Ebean 的注入”或依赖项已经用 Java 14 编译。另外,当我在 JavaOptions 中放置以下内容时:
javacOptions ++= Seq(
"-source", "1.8", "-target", "1.8",
...
编译器中断说有使用 Java 14 编译的代码。还有其他人遇到这个问题吗?到目前为止,我已经尝试了 Play Framework、Ebean、Scala 和其他版本的不同排列。我相信如果你清除你的 sbt 和 gradle 缓存你会得到同样的错误。
【问题讨论】:
-
您能否验证您正在使用 java 8 进行编译,也许您安装了多个 java 版本并且无意中使用了 java 14
-
你是对的,SDK 似乎自动在 Mac 上使用最新版本的 OpenJDK——即使 Oracle Java 8 是 VirtualMachines 文件夹中唯一的 JDK 也没关系
标签: playframework playframework-2.2