Java 如果先指定-jar,为什么-Dproperty=value不起作用?
鉴于以下类别:Java 如果先指定-jar,为什么-Dproperty=value不起作用?,java,command-line,system-properties,Java,Command Line,System Properties,鉴于以下类别: public class SpecifySystemPropertiesCommandLine { public static void main(String[] args) { String prop1 = System.getProperty("prop1", "defaultvalue"); String prop2 = System.getProperty("prop2", "defaultvalue"); S
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
看
jar文件名之后的所有内容都是传递给类/应用程序主方法的参数
-Dprop=val是传递给java进程的参数。请参阅
jar文件名之后的所有内容都是传递给类/应用程序主方法的参数
-Dprop=val是一个传递给java进程的参数。说真的,您可以自己查找这个参数。。。比问这个问题所花的时间还短。现在是stackoverflow,是的,你是对的。不客气,世界。说真的,你可以自己查一下这个。。。比问这个问题所花的时间还短。现在是stackoverflow,是的,你是对的。不客气,世界。