通过ant构建脚本将命令行参数传递给Java

在运行以下命令时:

ant targetname -Dk1=v1 -Dk2=v2 

我希望命令行参数传递给java ,比如java whatever -Dk1=v1 -Dk2=v2

我需要使用System.getPropertySystem.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标记下的弹出窗口中获得建议。 我更喜欢: , ,

使用任务中的嵌套元素: