Comment puis-je forcer SBT à compiler dans Java 8 fichiers de classe. J'ai ajouté scalacOptions + = "-target: jvm-1.8" mais cela donne le message d'erreur suivant:
[error] 'jvm-1.8' is not a valid choice for '-target'
[error] bad option: '-target:jvm-1.8'
[error] (compile:compile) Compilation failed
J'utilise la version 0.15.5 de SBT.
Je sais que j'utilise Java 8 pour compiler car j'ai ajouté ceci à build.sbt, mais je me demande toujours pourquoi les scalacOptions échouent et je ne sais pas quelle sortie le scalac produit.
initialize := {
val _ = initialize.value
if (sys.props("Java.specification.version") != "1.8")
sys.error("Java 8 is required for this project.")
}
Vous avez besoin des éléments suivants dans votre fichier build.sbt.
javacOptions ++= Seq("-source", "1.8", "-target", "1.8", "-Xlint")
initialize := {
val _ = initialize.value
if (sys.props("Java.specification.version") != "1.8")
sys.error("Java 8 is required for this project.")
}
La prise en charge de scalac pour jvm-1.8 a été ajoutée dans 2.11.4.
La version Scala (2.11.2) ne prend pas en charge -target:jvm-1.8
option.
$ scala -version
Scala code runner version 2.11.2 -- Copyright 2002-2013, LAMP/EPFL
$ scala -target
Usage: -target:<target>
where <target> choices are jvm-1.5, jvm-1.6, jvm-1.7 (default: jvm-1.6)
bad option: '-target'
Usage: scala <options> [<script|class|object|jar> <arguments>]
or scala -help
All options to scalac (see scalac -help) are also allowed.