Java -versionを使用すると、これが得られます。
Java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
それはOpenJDKまたはOracleJDKですか?
OracleJDKを使っていると思います。
グーグル検索で見たように、openJDK --versionの出力は次のようになります。
Javaバージョン
openjdkバージョン "1.8.0-internal"
OpenJDKランタイム環境(ビルド1.8.0-internal-0)
OpenJDK 64ビットゼロVM(ビルド25.0-b20-internal、インタープリターモード)
参照: http://mail.openjdk.Java.net/pipermail/jdk8-dev/2013-July/002840.html
Debian、jessie-backports、openjdk-8の場合:
openjdk version "1.8.0_66-internal"
OpenJDK Runtime Environment (build 1.8.0_66-internal-b17)
OpenJDK 64-Bit Server VM (build 25.66-b17, mixed mode)
Oracle-Java-8のubuntu ppaの使用:
Java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
冒頭の「Java」という文字列はOracle Javaを表し、OpenJDKは「openjdk」を取得すると思います。
JavaコードでSun.misc.Version#println
を呼び出すと、バージョン情報がstderrにダンプされます。JDKバージョンをJavaコードからフェッチする場合は、.
package bj.tmp;
import Sun.misc.Version;
public class Foo {
public static void main(String[] args) {
Version.println();
}
}
このような:
Java version "1.8.0_192"
Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)