通过ant构建脚本将命令行参数传递给Java
在运行以下命令时:
ant targetname -Dk1=v1 -Dk2=v2
我希望命令行参数传递给java
,比如java whatever -Dk1=v1 -Dk2=v2
。
我需要使用System.getProperty
或System.getenv
从Java代码访问这些参数。
我需要在我的ant构建脚本中编写什么来实现这一目标?
或者我应该采取其他方法吗?
我不确定你想要如何传递这些值,但有几种机制:
- 使用
传递您需要设置的系统属性: - 使用
将命令行参数传递给Java类 - 使用
将参数传递给Java命令本身 - 如果您分叉Java任务,也可以设置环境变量。 如果不分叉Java任务,则会忽略这些
这个:
$ foo=bar; java -Xlingc com.example.foo.bar -Dsys1=fu -Dsys2=barfu -arg1 -arg2 bar
变为:
希望这个例子有所帮助
在Ant脚本中不是很好,但我做了类似下面的事情:
Running MyClass .........
如果您使用的是Eclipse,则会在java标记下的弹出窗口中获得建议。 我更喜欢:
使用
任务中的嵌套
元素: