Javaのシステムプロパティについてまとめてみた。
目次
Javaのシステムプロパティとは
システムプロパティとは、Javaの動作環境に関する情報です。
JVM (Java仮想マシン) の情報を取得して確認したり、ユーザがJava環境を設定できます。
システムプロパティには、Java仮想マシンが環境に合わせて自動的に設定されるものと、ユーザが任意に設定するものとがある。
Javaのシステムプロパティ一覧
システムプロパティの一覧をまとめた。
java.lang.System#getProperties() の Javadoc に一覧があります。
それ以外にもいくつか使われているものがあります。
キー | 対応する値の説明 |
---|---|
java.version | Java Runtime Environmentのバージョン |
java.vendor | Java Runtime Environmentのベンダー |
java.vendor.url | JavaベンダーのURL |
java.home | Javaのインストール先ディレクトリ |
java.vm.specification.version | Java仮想マシンの仕様バージョン |
java.vm.specification.vendor | Java仮想マシンの仕様のベンダー |
java.vm.specification.name | Java仮想マシンの仕様名 |
java.vm.version | Java仮想マシンの実装バージョン |
java.vm.vendor | Java仮想マシンの実装のベンダー |
java.vm.name | Java仮想マシンの実装名 |
java.specification.version | Java Runtime Environmentの仕様バージョン |
java.specification.vendor | Java Runtime Environmentの仕様のベンダー |
java.specification.name | Java Runtime Environmentの仕様名 |
java.class.version | Javaクラスの形式のバージョン番号 |
java.class.path | Javaクラス・パス |
java.library.path | ライブラリのロード時に検索するパスのリスト |
java.io.tmpdir | デフォルト一時ファイルのパス |
java.compiler | 使用するJITコンパイラの名前 |
java.ext.dirs | 拡張ディレクトリのパス |
os.name | オペレーティング・システム名 |
os.arch | オペレーティング・システムのアーキテクチャ |
os.version | オペレーティング・システムのバージョン |
file.separator | ファイル区切り文字 |
path.separator | パス区切り文字 |
line.separator | 行区切り文字 |
user.name | ユーザーのアカウント名 |
user.home | ユーザーのホーム・ディレクトリ |
user.dir | ユーザーの現在の作業ディレクトリ |
file.encoding |
Java プログラムからのシステムプロパティの操作
Java プログラムからシステムプロパティを操作する方法についてまとめた。
指定したキーの値を取得
java.lang.System#getProperty(String key)
指定したキーの値(文字列)を取得します。
java.lang.System#getProperty(String key, String def)
指定したキーの値(文字列)を取得します。プロパティ値がない場合にはデフォルト値を返します。
java.lang.Integer#getInteger(String nm)
指定したキーの値(Integer)を取得します。
java.lang.Integer#getInteger(String nm, int val)
指定したキーの値(Integer)を取得します。プロパティ値がない場合にはデフォルト値を返します。
java.lang.Integer#getInteger(String nm, Integer val)
指定したキーの値(Integer)を取得します。プロパティ値がない場合にはデフォルト値を返します。
java.lang.Booelan#getBoolean(String name)
指定したキーの値(boolean)を取得します。プロパティ値がない場合、"true" ではない場合には偽を返します。
キーと値の組を取得
java.lang.System#getProperties()
Properties型 で取得。
java.lang.management.RuntimeMXBean#getSystemProperties()
Map<String, String> の形に詰め替えて取得。
値を変更
java.lang.System#setProperty(String key, String value)
指定したキーの値を設定します。
java.lang.System#clearProperty(String key)
指定したキーの値を削除します。
java.lang.System#setProperties(Properties props)
システムプロパティを設定します。
Java起動パラメーターでシステムプロパティの設定、追加、変更
JavaVM を起動する場合、コマンドライン引数に -D でシステムプロパティを、追加・変更することができます。
java -Dfile.encoding=UTF-8 -jar xxxx.jar
コメント