1

I want to pass -D arguments to a Java program, which will set those variables as System Properties. But I have 3 to 4 -D arguments and the list can grow dynamically, so is it possible to add all those arguments into a file and pass it as arguments ?

Default Method

-Dproperty=value
Set a system property value. If value is a string that contains spaces, you must enclose the string in double quotes:
            java -Dfoo="some string" SomeClass

I would like to do it as

variables.dat
-Dfoo="some String"
-Dbar="some string"
      ....
      ....

java -SOME_OPTION variables.dat SomeClass

Is it possible to achieve this ? Where I dint get any help from net. Please help me out.

4

2 に答える 2

3

実装は非常に簡単です。ファイルが

-Dkey1=value1
-Dkey2=value2

このファイルを読むだけです。そしてループで do System.setProperty(key1.substring(2), value1) ; それが最終的に -D オプションが行うことだからです。

于 2013-01-07T14:36:27.527 に答える
0

いいえ、java実行可能ファイルはこのファイルを読み取ってプロパティを解析しません。JVM への呼び出しの引数の一部としてファイルからプロパティをエコーするなどの処理を行うには、シェルに依存する必要があります。

于 2013-01-07T14:35:20.303 に答える