我使用的模块一定是用Java 1.7编译的,而我只有1.6。
如果我想为1.6这样的特定版本编译模块,我如何在Play中设置它!Framework 2.0,这样我就可以防止"不支持的主要版本.次要版本"错误。
正在播放!1.x您可以在application.conf.中设置"java.version=1.6"
我认为在Play!2.x它可能需要设置在sbt的某个位置,但在哪里/如何设置?
添加
javacOptions ++= Seq("-source", "1.6", "-target", "1.6")
到build.sbt文件对我有效(为了透明,在我的情况下,使用JDK8构建是1.7)。
在文件project/Build.scala中,如果您想使用java 1.6:进行编译,请添加以下设置
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"之后(如果你的build.sbt中有这行)。
确保你有正确的路径分配给你的sdk,你可以通过键入:来验证这一点
java-home
在Play或activator控制台中。
还要确保运行
clean
在控制台中删除所有以前编译的资源。
现在使用编译代码
compile
你应该很乐意去。我希望这能有所帮助!
我认为唯一的解决方案是在项目的根目录中创建文件build.sbt并添加
javaHome:=某些(文件("path_to_your_jdk")