如何指定哪个 java 版本与 sbt 0.12.4 一起使用?

How to specify which java version to use with sbt 0.12.4?

如何指定哪个 java 版本与 sbt 0.12.4 一起使用? 我安装了 java 7 和 java 8。由于 sbt 0.12.4 不支持 java 8 但默认尝试使用它,我必须为 sbt 明确指定 java 版本。我想继续使用 java 8 作为 java 的默认版本用于其他用途。

对我来说效果很好的一种方法是,使用 sbt-extras 中的 sbt 脚本并将一个名为 .sbtopts 的文件添加到项目的根目录,其中包含:

-java-home
/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home

使用您想使用的 Java 7 的任何版本。确保它们分开。

如果您没有使用来自 sbt-extras you could use jEnv 的 sbt 脚本。

配置 jEnv 后,从项目 运行 jenv local 1.7 的根目录创建一个名为 .java-version 的文件,内容为“1.7”。

然后每次你在那个项目中运行java(或javac等)(包括从那个项目中的任何目录)它会运行 1.6版本,感谢 jEnv 的 shim 机制。