设置多个系统属性Java命令行

发布于 2021-01-30 22:42:36

有没有一种简单的方法可以在命令行上为Java程序指定多个系统属性,而不是具有多个-D语句?

试图避免这种情况:

 java -jar -DNAME="myName" -DVERSION="1.0" -DLOCATION="home" program.jar

我以为我看到了一个例子,该例子之后有人使用一个-D引号引起来的字符串,但是我再也找不到该例子了。

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

    答案是否定的。您可能已经看到了一个示例,其中有人会设置如下内容:

    -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



知识点
面圈网VIP题库

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

去下载看看