Java -D 命令行参数的正确使用 [英] Proper usage of Java -D command-line parameters
本文介绍了Java -D 命令行参数的正确使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
When passing a -D parameter in Java, what is the proper way of writing the command-line and then accessing it from code?
For example, I have tried writing something like this...
if (System.getProperty("test").equalsIgnoreCase("true"))
{
//Do something
}
And then calling it like this...
java -jar myApplication.jar -Dtest="true"
But I receive a NullPointerException. What am I doing wrong?
解决方案
I suspect the problem is that you've put the "-D" after the -jar
. Try this:
java -Dtest="true" -jar myApplication.jar
From the command line help:
java [-options] -jar jarfile [args...]
In other words, the way you've got it at the moment will treat -Dtest="true"
as one of the arguments to pass to main
instead of as a JVM argument.
(You should probably also drop the quotes, but it may well work anyway - it probably depends on your shell.)
这篇关于Java -D 命令行参数的正确使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文