Il modo più affidabile (forse solo) per farlo al momento di avviare SBT con java
nella cartella JDK7.
Modificare lo script di avvio sbt
; oppure utilizzare this one che consente di specificare Java Home (e molto altro ancora!) come opzioni della riga di comando.
~/code/scratch/20111009 sbt -java-home /Library/Java/JavaVirtualMachines/openjdk-1.7-x86_64/Contents/Home
Starting sbt: invoke with -help for other options
[info] Loading global plugins from /Users/jason/.sbt/plugins
[info] Set current project to default-3e990a (in build file:/Users/jason/code/scratch/20111009/)
> console
[info] Compiling 1 Scala source to /Users/jason/code/scratch/20111009/target/scala-2.9.1/classes...
[info] Starting scala interpreter...
[info]
Welcome to Scala version 2.9.1.final (OpenJDK 64-Bit Server VM, Java 1.7.0-internal).
Type in expressions to have them evaluated.
Type :help for more information.
scala> java.util.Objects.equals(null, null)
res0: Boolean = true
semplicemente impostando javaHome := Some(file("/Library/Java/JavaVirtualMachines/openjdk-1.7-x86_64/Contents/Home"))
cambia la versione Java utilizzato per compilare e processi forcella, ma non cambia la versione della libreria standard di Java nel classpath, né la versione utilizzata per eseguire test, che sono sempre eseguire il la stessa JVM come SBT.
Su 'windows10' e' sbt-0.13' L'ho fatto con 'cmd/C" impostato JAVA_HOME = c: \ apps \ jdk1.7.0_80 && sbt "'. Non aggiungere spazi prima di && poiché influenzeranno la variabile JAVA_HOME. – raisercostin