如何找出JDK SBT使用的版本?
我的笔记本电脑安装了JDK 1.6和JDK 1.7,所以我只是想知道。
答案 0 :(得分:44)
您可以在sbt提示符下使用eval
和相应的系统属性:
> 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
(其他答案也很好,这只是另一种方法。)
答案 1 :(得分:10)
只需运行sbt控制台,你就会得到类似的东西:
欢迎使用Scala版本2.10.2(Java HotSpot(TM)64位服务器VM,Java 1.6.0_45)。 输入表达式以对其进行评估。 键入:帮助以获取更多信息。
其中显示了正在使用的Java版本。
干杯
JC
答案 2 :(得分:5)
实际上很容易。
找到SBT的命令行(cat `which sbt`
)并查看它是哪个Java。
例如,我的SBT命令行以:
开头/usr/bin/java -Xmx512M
/usr/bin/java -version
告诉Java版本,在我的例子中它是1.7。
答案 3 :(得分:3)
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/)
>
答案 4 :(得分:0)
这是我创建的一个批处理文件方法,用于从命令行立即获取该信息(仅Windows,但是您可以在shell脚本中执行类似的操作):
@echo off
setlocal
sbt "eval System.getProperty(\"java.version\")" "eval System.getProperty(\"java.home\")"
@echo on