#author("2017-06-09T00:37:36+09:00","","")
#author("2017-06-10T11:17:22+09:00","","")
#navi(../)

*JDK,JRE,JavaのバージョンなどJavaに関する情報を取得するサンプル [#s1db8878]
本資料およびサンプルコードは、JavaやJREのバージョン、ベンダー名称などを~
取得するサンプルコードになります。

#contents

* 関連記事 [#o529d98e]
-[[Javaを実行するOS情報を取得する>システム関連/Javaを実行するOS情報を取得する]]

* 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
 			);
 		}
 	}
 }

実行例
**実行結果 [#p31e3457]
コンパイルして実行した時の出力です。
 $ 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に関する情報を取得するサンプルソースでした。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS