我想将-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
有可能实现这一目标吗?我从网上得到任何帮助。请帮帮我。
答案 0 :(得分:3)
实施起来非常简单。假设文件是
-Dkey1=value1
-Dkey2=value2
你必须阅读这个文件;并在循环中执行System.setProperty(key1.substring(2),value1);因为这最终是-D选项。
答案 1 :(得分:0)
不,java
可执行文件不会读取此文件来解析属性。您将不得不依赖shell来执行某些操作,例如将文件中的属性作为调用JVM的参数的一部分进行回显。