我使用的模块必须是用 Java 1.7 编译的,而我只有 1.6。
如果我想为特定版本(如 1.6)编译模块,我该如何在 Play 中设置它!Framework 2.0,这样我就可以防止出现“Unsupported major.minor version”错误。
在玩!1.x 你可以在 application.conf 中设置“java.version=1.6”。
我假设在 Play! 2.x 可能需要为 sbt 设置某个位置 - 但是在哪里/如何?
我使用的模块必须是用 Java 1.7 编译的,而我只有 1.6。
如果我想为特定版本(如 1.6)编译模块,我该如何在 Play 中设置它!Framework 2.0,这样我就可以防止出现“Unsupported major.minor version”错误。
在玩!1.x 你可以在 application.conf 中设置“java.version=1.6”。
我假设在 Play! 2.x 可能需要为 sbt 设置某个位置 - 但是在哪里/如何?
添加
javacOptions ++= Seq("-source", "1.6", "-target", "1.6")
到build.sbt文件对我有用(为了透明,在我的情况下,使用 JDK 8 构建是 1.7)。
如果要使用 java 1.6 编译,请在文件project/Build.scala中添加以下设置:
val main = play.Project(appName, appVersion, appDependencies).settings(
// Force compilation in java 1.6
javacOptions in Compile ++= Seq("-source", "1.6", "-target", "1.6")
)
我想通了,放
javaHome := Some(file("path_to_your_jdk"))
在 build.sbt 文件的最后。确保你把它放在“ playJavaSettings ”之后(如果你的 built.sbt 中有这一行)。
确保您为您的 sdk 分配了正确的路径,您可以通过键入以下内容来验证这一点:
java-home
在 Play 或激活器控制台中。
还要确保你运行
clean
在您的控制台中删除所有以前编译的资源。
现在编译你的代码使用
compile
你应该很高兴。我希望这有帮助!
我认为唯一的解决方案是在项目的根目录中创建文件build.sbt并添加
javaHome := Some(file("path_to_your_jdk"))