Command line 为什么赢了';t Groovy打印运行时参数?

Command line 为什么赢了';t Groovy打印运行时参数?,command-line,groovy,Command Line,Groovy,我的Groovy应用程序: class Driver { static void main(String[] args) { println "Arg0 is: " + args[0] } } 当我运行以下命令时: java-jar-dshoulprint=yes myapp.jar 我得到: Arg0是:[Ljava.lang.String;@a7e666 groovy为什么不向我显示运行时参数的值?您传递的不是参数,而是系统属性(-D)。它可以通过系统获得。

我的Groovy应用程序:

class Driver {
    static void main(String[] args) {
        println "Arg0 is: " + args[0]
    }
}
当我运行以下命令时:

java-jar-dshoulprint=yes myapp.jar

我得到:

Arg0是:[Ljava.lang.String;@a7e666


groovy为什么不向我显示运行时参数的值?

您传递的不是参数,而是系统属性(
-D
)。它可以通过
系统获得。属性
。参数应按如下方式传递:

java -jar myapp.jar here1 here2 here3

您传递的不是参数,而是系统属性。它可以通过
System.properties
获得。参数应按如下方式传递:
java-jar myapp.jar here1 here2 here3
。谢谢@Opal(+1)-所以用你的例子来说,我的调用应该是
java-jar myapp.jar shouldPrint=yes
还是
java-jar myapp.jar shouldPrint=yes
?似乎是这样。
shouldPrint=yes
将是
args
列表中的一个条目。如果有效,请告诉我。我会添加一个答案以供接受。随机附带说明:我怀疑上面的答案代码将给出该输出。输出看起来像
println“Arg0是:“+args
args[0]
没有参数将抛出。@DirtyMikeAndTheBoys如果该答案和注释对您有帮助,请接受它。