SBT使用哪个版本的Java?

21 scala sbt

如何找出JDK SBT使用的版本?

我的笔记本电脑安装了JDK 1.6和JDK 1.7,所以我只是想知道.

Set*_*sue 51

您可以eval在sbt提示符下使用适当的系统属性:

> eval System.getProperty("java.version")
[info] ans: String = 1.7.0_45
> eval System.getProperty("java.home")
[info] ans: String = /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre
Run Code Online (Sandbox Code Playgroud)

(其他答案也很好,这只是另一种方法.)


小智 11

只需运行sbt控制台,你就会得到这样的东西:

欢迎使用Scala版本2.10.2(Java HotSpot(TM)64位服务器VM,Java 1.6.0_45).输入表达式以对其进行评估.键入:帮助以获取更多信息.

其中显示了正在使用的Java版本.

干杯

JC

  • 似乎对我来说,sbt 0.13.7不再显示了。它可能早于此版本已被删除。不过,下面使用eval的注释正在运行,应该是公认的答案。 (4认同)

qu1*_*0t3 6

sbt -v 是另一种方式:

# sbt -v
[process_args] java_version = '1.7.0_121'
# Executing command line:
java
-Xms1024m
-Xmx1024m
-XX:ReservedCodeCacheSize=128m
-XX:MaxPermSize=256m
-jar
/usr/share/sbt-launcher-packaging/bin/sbt-launch.jar

[info] Loading project definition from /root/.sbt/0.13/staging/a6d8e5030b69785a9763/build/project
[info] Set current project to xx (in build file:/build/)
>
Run Code Online (Sandbox Code Playgroud)

  • 啊..它存储在哪里:) ??? sbt用的是1.7的java,我想把这个奇迹改用1.8 (2认同)

小智 5

这实际上很容易.

找到SBT(cat `which sbt`)的命令行,看看它是哪个Java.

例如,我的SBT命令行以:

/usr/bin/java -Xmx512M
Run Code Online (Sandbox Code Playgroud)

/usr/bin/java -version告诉Java版本,在我的情况下它是1.7.