我在运行时遇到编译错误compile
任务,因为源引用了新类java.nio.file
仅出现在 Java 7 中的包。
我有以下内容build.sbt
:
javaHome := Some(file("/opt/jdk/jdk1.7.0"))
fork := true
In sbt:
> show java-home
[info] Some(/opt/jdk/jdk1.7.0)
它在 Eclipse 中编译并运行良好。如何设置 sbt 使用 Java 7 进行编译?
目前最可靠(也许是唯一)的方法是启动 SBTjava
在JDK7文件夹中。
修改你的sbt
启动器脚本;或使用this one它允许您将 Java Home(以及更多!)指定为命令行选项。
~/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
简单设定javaHome := Some(file("/Library/Java/JavaVirtualMachines/openjdk-1.7-x86_64/Contents/Home"))
更改用于编译和 fork 进程的 Java 版本,但不会更改类路径上的 Java 标准库的版本,也不会更改用于运行测试的版本,测试始终与 SBT 运行相同的 JVM。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)