A module I am using must have been compiled with Java 1.7, and I only have 1.6.
If I want to for the module to be compiled for a specific version like 1.6, how can I set
I think the only solution is to create the file build.sbt in the root of the project and add
javaHome := Some(file("path_to_your_jdk"))
In the file project/Build.scala, add the setting below if you want to compile with 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")
)
I figured this out, put
javaHome := Some(file("path_to_your_jdk"))
at the very end of your build.sbt file. Make sure your put it after "playJavaSettings" (if you have this line in your built.sbt).
Make sure you have the right path assigned to your sdk , you can verify this by typing :
java-home
in Play or activator console.
Also make sure you run
clean
in your console to get rid of all previously compiled resources.
now compile your code using
compile
you should be good to go. I hope this helps!
Adding
javacOptions ++= Seq("-source", "1.6", "-target", "1.6")
to the build.sbt file worked for me (to be transparent, in my case it was 1.7 to build with JDK 8).