将-D参数作为文件传递给Java命令行

时间:2013-01-07 14:31:16

标签: java command-line command-line-arguments

我想将-D参数传递给Java程序,Java程序会将这些变量设置为System Properties。但是我有3到4个D参数,列表可以动态增长,所以可以将所有这些参数添加到文件中并将其作为参数传递吗?

默认方法

-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

我想这样做

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

java -SOME_OPTION variables.dat SomeClass

有可能实现这一目标吗?我从网上得到任何帮助。请帮帮我。

2 个答案:

答案 0 :(得分:3)

实施起来非常简单。假设文件是​​

-Dkey1=value1
-Dkey2=value2

你必须阅读这个文件;并在循环中执行System.setProperty(key1.substring(2),value1);因为这最终是-D选项。

答案 1 :(得分:0)

不,java可执行文件不会读取此文件来解析属性。您将不得不依赖shell来执行某些操作,例如将文件中的属性作为调用JVM的参数的一部分进行回显。