LoginSignup
0
0

More than 3 years have passed since last update.

Javaのシステムプロパティの記載順について

Last updated at Posted at 2020-02-02

定期的に毎回悩んで、思い出しているのでメモしておきます。
Javaのコマンドに付けてメモリの確保量などを定義する「システムプロパティ」
ですが記載順によってクラスから参照できる/できないが明確になっています。

環境

$java -version
java version "1.8.0_131"

サンプルクラス
「kusatest」というシステムプロパティをクラスから参照して出力します

Test.java
import java.util.*;

public class Test {
    public static void main(String[] args) {
        System.out.println("start");
        System.out.println(System.getProperty("kusatest"));
        System.out.println("end");
    }
}

参照できる例

$ java -Dkusatest=a Test
start
a
end

参照できない例

$ java Test -Dkusatest=a
start
null
end

自分はクラス/Jarを書いてプロパティを後から書くので間違いがちでした。
毎回忘れて数時間無駄にするので、もう忘れないようにしたい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0