在Java中传递a-D参数时,编写命令行然后从代码中访问它的正确方法是什么?
例如,我试过写这样的东西...
if (System.getProperty("test").equalsIgnoreCase("true"))
{
//Do something
}
然后这样称呼它...
java -jar myApplication.jar -Dtest="true"
但我收到一个空点异常.我做错了什么?
在Java中传递a-D参数时,编写命令行然后从代码中访问它的正确方法是什么?
例如,我试过写这样的东西...
if (System.getProperty("test").equalsIgnoreCase("true"))
{
//Do something
}
然后这样称呼它...
java -jar myApplication.jar -Dtest="true"
但我收到一个空点异常.我做错了什么?
我怀疑问题是你把"-D"after改成了-jar
.试试这个:
java -Dtest="true" -jar myApplication.jar
在命令行帮助中:
java [-options] -jar jarfile [args...]
换言之,目前的处理方式是将-Dtest="true"
视为要传递给main
的参数之一,而不是JVM参数.
(你可能应该删除also个引号,但无论如何它都可能有效——这可能取决于你的shell.)