15

我使用的模块必须是用 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 设置某个位置 - 但是在哪里/如何?

4

4 回答 4

18

添加

javacOptions ++= Seq("-source", "1.6", "-target", "1.6")

build.sbt文件对我有用(为了透明,在我的情况下,使用 JDK 8 构建是 1.7)。

于 2014-12-11T10:57:25.870 回答
8

如果要使用 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")
)
于 2013-07-16T09:43:51.150 回答
1

我想通了,放

javaHome := Some(file("path_to_your_jdk"))

在 build.sbt 文件的最后。确保你把它放在“ playJavaSettings ”之后(如果你的 built.sbt 中有这一行)。

确保您为您的 sdk 分配了正确的路径,您可以通过键入以下内容来验证这一点:

java-home

在 Play 或激活器控制台中。

还要确保你运行

clean

在您的控制台中删除所有以前编译的资源。

现在编译你的代码使用

compile 

你应该很高兴。我希望这有帮助!

于 2014-07-16T15:33:07.703 回答
0

我认为唯一的解决方案是在项目的根目录中创建文件build.sbt并添加

javaHome := Some(file("path_to_your_jdk"))

于 2013-02-12T09:00:49.723 回答