我有以下Groovy类:
class MyApp {
public static void main(String[] args) {
String name = System.getProperty("name")
println "My name is ${name}."
}
}
当我将其打包为可执行JAR然后运行它(java -jar myapp.jar -Dname=Earl
)时,这是我得到的输出:
我的名字是空的。
为什么name
为空而不是“ Earl ”?
答案 0 :(得分:3)
java
可执行文件将主类/ Jar之后的所有内容视为main
方法的参数。试试java -Dname=Earl -jar myapp.jar
。 (除非Jar是一个胖Jar或它的清单类路径指向Groovy Jar,否则你也必须使用-cp
)传递它。