设置多个系统属性Java命令行
有没有一种简单的方法可以在命令行上为Java程序指定多个系统属性,而不是具有多个-D语句?
试图避免这种情况:
java -jar -DNAME="myName" -DVERSION="1.0" -DLOCATION="home" program.jar
我以为我看到了一个例子,该例子之后有人使用一个-D
引号引起来的字符串,但是我再也找不到该例子了。
-
答案是否定的。您可能已经看到了一个示例,其中有人会设置如下内容:
-DArguments=a=1,b=2,c=3,d=4,e=cow
然后,应用程序将解析
Arguments
属性字符串的值以获得单个值。在您中,main
您可以将键值设为(假设可以保证输入格式):String line = System.getProperty("Arguments"); if(line != null) { String str[] = line.split(","); for(int i=1;i<str.length;i++){ String arr[] = str[i].split("="); System.out.println("Key = " + arr[0]); System.out.println("Value = " + arr[1]); } }
另外,
-D
应当jar
在Java命令行中的主类或文件之前。范例:java -DArguments=a=1,b=2,c=3,d=4,e=cow MainClass