正确使用Java -D命令行参数

发布于 2021-01-31 15:25:17

在Java中传递-D参数时,编写命令行然后从代码访问它的正确方法是什么?

例如,我尝试编写类似这样的内容…

if (System.getProperty("test").equalsIgnoreCase("true"))
{
   //Do something
}

然后这样称呼…

java -jar myApplication.jar -Dtest="true"

但是我收到一个NullPointerException。我究竟做错了什么?

关注者
0
被浏览
80
1 个回答
  • 面试哥
    面试哥 2021-01-31
    为面试而生,有面试问题,就找面试哥。

    我怀疑问题是您将“ -D”放在了。 之后-jar。试试这个:

    java -Dtest="true" -jar myApplication.jar
    

    从命令行帮助:

    java [-options] -jar jarfile [args...]
    

    换句话说,此刻获得的方式将被-Dtest="true"视为要传递的参数之一,main而不是JVM参数。

    (您可能 应该删除引号,但是无论如何它都可以正常工作-它可能取决于您的shell。)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看