#author("2017-06-09T00:19:41+09:00","","") #navi(../) *JDK,JRE,JavaのバージョンなどJavaに関する情報を取得するサンプル [#s1db8878] 本資料およびサンプルコードは、JavaやJREのバージョン、ベンダー名称などを~ 取得するサンプルコードになります。 #contents * 関連記事 [#o529d98e] * Javaに関する情報を取得する [#af562a40] 以下の情報を取得するサンプルコードおよび実行例を以下に記します。 |''キー''|''値の意味''| |java.class.path|Javaクラスパス| |java.class.version|Javaクラスの形式のバージョン| |java.compiler|JITコンパイラ名称| |java.home|Javaインストールディレクトリ| |java.io.tmpdir|デフォルトテンポラリファイルパス| |java.library.path|ライブラリのロード時に検索するパスのリスト| |java.specification.name|JREの仕様名称| |java.specification.vendor|JRE仕様のベンダー| |java.specification.version|JRE仕様バージョン| |java.vendor.url|JavaベンダーのURL| |java.vendor|JREのベンダー名| |java.version|JREのバージョン| |java.vm.name|Java仮想マシン実装名| |java.vm.specification.name|Java仮想マシンの仕様名称| |java.vm.specification.vendor|Java仮想マシン仕様のベンダー名| |java.vm.specification.version|Java仮想マシン仕様バージョン| |java.vm.vendor|Java仮想マシン実装のベンダー名| |java.vm.version|Java仮想マシン実装バージョン| ** サンプルコード [#n08b5930] 上記の表のキーに対する値を取得するサンプルコードおよび実行例を記します。 #ref(JavaProp.java) import java.util.*; public class JavaProp { public static void main(String[] args) { HashMap<String, String> map = new HashMap<String, String>(); map.put("java.class.path","Javaクラスパス"); map.put("java.class.version","Javaクラスの形式のバージョン"); map.put("java.compiler","JITコンパイラ名称"); map.put("java.home","Javaインストールディレクトリ"); map.put("java.io.tmpdir","デフォルトテンポラリファイルパス"); map.put("java.library.path","ライブラリのロード時に検索するパスのリスト"); map.put("java.specification.name","JREの仕様名称"); map.put("java.specification.vendor","JRE仕様のベンダー"); map.put("java.specification.version","JRE仕様バージョン"); map.put("java.vendor.url","JavaベンダーのURL"); map.put("java.vendor","JREのベンダー名"); map.put("java.version","JREのバージョン"); map.put("java.vm.name","Java仮想マシン実装名"); map.put("java.vm.specification.name","Java仮想マシンの仕様名称"); map.put("java.vm.specification.vendor","Java仮想マシン仕様のベンダー名"); map.put("java.vm.specification.version","Java仮想マシン仕様バージョン"); map.put("java.vm.vendor","Java仮想マシン実装のベンダー名"); map.put("java.vm.version","Java仮想マシン実装バージョン"); Set<Map.Entry<String, String>> entry = map.entrySet(); Iterator<Map.Entry<String, String>> iterator = entry.iterator(); while(iterator.hasNext()) { Map.Entry<String, String> item = iterator.next(); String property = System.getProperty(item.getKey()); System.out.println( item.getKey() + "(" + item.getValue() + ") : " + property ); } } } 実行例 コンパイルして実行した時の出力です。 $ javac JavaProp.java $ java JavaProp java.io.tmpdir(デフォルトテンポラリファイルパス) : /tmp java.specification.version(JRE仕様バージョン) : 9 java.version(JREのバージョン) : 9-internal java.class.path(Javaクラスパス) : . java.specification.vendor(JRE仕様のベンダー) : Oracle Corporation java.vm.specification.name(Java仮想マシンの仕様名称) : Java Virtual Machine Specification java.vm.vendor(Java仮想マシン実装のベンダー名) : Oracle Corporation java.home(Javaインストールディレクトリ) : /usr/lib/jvm/java-9-openjdk-i386 java.library.path(ライブラリのロード時に検索するパスのリスト) : /usr/java/packages/lib/i386:/usr/lib/i386-linux-gnu/jni:/lib/i386-linux-gnu:/usr/lib/i386-linux-gnu:/usr/lib/jni:/lib:/usr/lib java.specification.name(JREの仕様名称) : Java Platform API Specification java.vendor.url(JavaベンダーのURL) : http://java.oracle.com/ java.vendor(JREのベンダー名) : Oracle Corporation java.vm.specification.vendor(Java仮想マシン仕様のベンダー名) : Oracle Corporation java.compiler(JITコンパイラ名称) : null java.vm.version(Java仮想マシン実装バージョン) : 9-internal+0-2016-04-14-195526.buildd.src java.vm.name(Java仮想マシン実装名) : OpenJDK Server VM java.vm.specification.version(Java仮想マシン仕様バージョン) : 9 java.class.version(Javaクラスの形式のバージョン) : 53.0 以上、Javaに関する情報を取得するサンプルソースでした。