本資料およびサンプルコードは、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に関する情報を取得するサンプルソースでした。