0

给定以下课程:

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
4

1 回答 1

3

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

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

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

于 2013-01-27T03:29:30.890 回答