【发布时间】:2015-09-21 13:11:34
【问题描述】:
在阅读 java man 页面时,我发现了 -Dproperty=value 标志,该标志表明通过传递此标志,它将创建一个 value = value 的系统属性。
我写了一个测试java代码:
class File{
public static void main(String[] args){
System.out.println("HOLA");
System.out.println(System.getProperty("blah"));
}
}
我用javac File.java 编译了相同的内容,然后用命令java File -Dblah=blah 运行,但我得到了以下输出
HOLA
null
然后我以java -Dblah=blah File 运行,然后我得到了预期的输出:
HOLA
blah
问题是:这是错误还是故意行为。这似乎是一个错误,因为在大多数程序中,命令行中的顺序并不重要。
【问题讨论】:
标签: java command-line jvm-arguments system-properties