本資料およびサンプルコードは、JavaやJREのバージョン、ベンダー名称などを
取得するサンプルコードになります。
以下の情報を取得するサンプルコードおよび実行例を以下に記します。
キー | 値の意味 |
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仮想マシン実装バージョン |
上記の表のキーに対する値を取得するサンプルコードおよび実行例を記します。
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に関する情報を取得するサンプルソースでした。