在阅读java man
页面时,我发现-Dproperty=value
标志,通过传递此标志的统计信息,它将创建一个value = value的系统属性。 我写了一个测试Java代码:使用命令行的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
现在的问题是:这是一个错误还是这是故意的b ehavior。这似乎是一个错误,因为在大多数程序中,命令在命令行中并不重要。