【问题标题】:Why does -Dproperty=value not work if -jar is specified first?如果先指定 -jar,为什么 -Dproperty=value 不起作用?
【发布时间】:2013-01-27 03:24:40
【问题描述】:

给定以下类:

public class SpecifySystemPropertiesCommandLine {

    public static void main(String[] args) {
        String prop1 = System.getProperty("prop1", "defaultvalue");
        String prop2 = System.getProperty("prop2", "defaultvalue");

        System.out.println("prop1 = " + prop1);
        System.out.println("prop2 = " + prop2);
    }

}

为什么以下方法不起作用:

$ java -jar sysprop.jar -Dprop1="i can haz?"
prop1 = defaultvalue
prop2 = defaultvalue

但这有效:

$ java -Dprop1="i can haz?" -jar sysprop.jar 
prop1 = i can haz?
prop2 = defaultvalue

【问题讨论】:

  • 说真的,您本可以自己查找此内容...在比提出问题所需的时间更短的时间内。
  • 现在它在 stackoverflow 上,是的,你是对的。不客气,世界。

标签: java command-line system-properties


【解决方案1】:

http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html

jar 文件名之后的所有内容都是传递给您的类/应用程序的 main 方法的参数。

-Dprop=val 是传递给 java 进程的参数。

【讨论】:

    猜你喜欢
    • 2012-04-28
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多