Which version of Java does SBT use?

Viewed 24799

How to find out, which version of JDK SBT uses?

My laptop has both JDK 1.6 and JDK 1.7 installed, so I was just wondering.

5 Answers

You can use eval at the sbt prompt with the appropriate system properties:

> 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

(The other answers are fine too, this is just another method.)

Just run sbt console and you'll get something like this:

Welcome to Scala version 2.10.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_45). Type in expressions to have them evaluated. Type :help for more information.

Which shows you the version of Java being used.

Cheers

JC

It's actually easy.

Find the command line of SBT (cat `which sbt`) and see which Java it is.

For example, my SBT command line begins with:

/usr/bin/java -Xmx512M

And /usr/bin/java -version tells the Java version, in my case it is 1.7.

Here's a batch file method I created to get that info immediately from the command line (Windows only, but you can do something similar in a shell script):

@echo off
setlocal
sbt "eval System.getProperty(\"java.version\")" "eval System.getProperty(\"java.home\")"
@echo on
Related