1

我想将 -D 参数传递给 Java 程序,该程序会将这些变量设置为系统属性。但是我有 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

有可能做到这一点吗?我从网上得到任何帮助的地方。请帮帮我。

4

2 回答 2

3

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

-Dkey1=value1
-Dkey2=value2

您只需阅读此文件;并在循环中做 System.setProperty(key1.substring(2), value1) ;因为这最终是 -D 选项的作用。

于 2013-01-07T14:36:27.527 回答
0

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

于 2013-01-07T14:35:20.303 回答