Javaの-Dオプションとは?システムプロパティの設定・取得方法


掲載日:

更新日:


INFORMATION > Javaの-Dオプションとは?システムプロパティの設定・取得方法

結論:-Dname=valueは、Java VMの起動時にシステムプロパティを設定するための標準オプションです。アプリケーション側ではSystem.getPropertyで参照できます。

この記事の対象と位置付け:EclipseのVM引数やTomcatの起動オプションに現れる-Dの意味を、簡単な実行例から理解したい方向けの記事です。

2026年時点の注意:構文は現在のJavaでも有効ですが、パスワードやトークンをコマンドラインへ直接渡すと、プロセス一覧やログに露出する可能性があります。機密情報には専用の秘密管理方法を使ってください。

公式情報:Oracle Java 25のjavaコマンド仕様

概要

Java起動時に「java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager」と指定したり、Eclipseで「実行環境⇒VM引数」に以下の様に「-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager」と指定することがあると思います。

Eclipseの画面

この「-DXXXXXX」を付けるとどうなるか説明したいと思います。

目次

  1. Dオプション(-D)とは
  2. まとめ

1. Dオプション(-D)とは

Dオプション(-D)とはJavaのシステムプロパティ値となります。以下のJavaのオラクルのサイトに記載されています。

https://docs.oracle.com/javase/jp/1.3/tooldocs/solaris/java.html#standard

システムプロパティ値を設定するとどうなるのか実際に動かしてみたいと思います。

1-1. Dオプション(-D)を指定して動かすとどうなるか

EclipseにDオプション(-D)を指定して動かしていきたいと思います。具体的なオプションとしては「-Dtest=testoption」とします。下図の様に設定します。

Eclipseの画面

下図の様な簡単なmainクラスを作成します。

Eclipseの画面

このmainクラスを実行すると以下の様に「test」を引数に「testoption」という値が取得できていることが分かります。

Eclipseの画面

つまり、Javaの起動時にシステムプロパティ値を設定するとSystemクラスから値を取得できるようになります。

3. まとめ

Javaの起動時にDオプション(-D)を指定すると、Systemクラスから値を取得することが可能になります。環境ごとに異なる値を動的に設定したい場合などに使用されます。

最後までご覧いただきありがとうございました。

■INFORMATION

INFORMATIONのトップページはこちらよりお願いいたします。


■PROFILE

プロフィールはこちらよりお願いいたします。


■お問い合わせ先

記事に関するお問い合わせはこちらよりお願いいたします。