通过 ant 构建脚本将命令行参数传递给 Java [英] Passing command line arguments to Java via ant build script
本文介绍了通过 ant 构建脚本将命令行参数传递给 Java的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在运行以下命令时:
ant targetname -Dk1=v1 -Dk2=v2
我希望将命令行参数传递给 java
,例如 java 无论如何 -Dk1=v1 -Dk2=v2
.
I want the command line parameters passed down to java
, like java whatever -Dk1=v1 -Dk2=v2
.
我需要使用 System.getProperty
或 System.getenv
从 Java 代码访问这些参数.
I need to access these parameters from Java code with System.getProperty
or System.getenv
.
我需要在我的 ant 构建脚本中编写什么来实现这一点?
What do I need to write in my ant build script to make this happen?
或者我应该完全采用其他方法吗?
Or should I take some other approach altogether?
推荐答案
我不确定您希望如何传递这些值,但有几种机制:
I'm not sure exactly how you want to pass these values, but there are several mechanisms:
- 使用
传递你需要设置的系统属性: - 使用
将命令行参数传递给 Java 类 - 使用
将参数传递给 Java 命令本身 - 如果你 fork 你的 Java 任务,你也可以设置环境变量.如果您不 fork Java 任务,这些将被忽略
- Use
<sysproperty>
to pass system properties you need to set: - Use
<arg>
to pass command line arguments to your Java class - Use
<jvmarg>
to pass arguments to your Java command itself - If you fork your Java task, you can also set environment variables too. These are ignored if you don't fork the Java task
这个:
$ foo=bar; java -Xlingc com.example.foo.bar -Dsys1=fu -Dsys2=barfu -arg1 -arg2 bar
变成:
<java classname="com.example.foo.bar"
fork="true">
<env key="foo" value="bar"/>
<sysproperty key="sys1" value="fu"/>
<sysproperty key="sys2" value="barfu"/>
<jvmarg value="-Xlingc"/>
<arg value="-arg1"/>
<arg value="-arg2"/>
<arg value="bar"/>
</java>
希望这个例子有帮助
这篇关于通过 ant 构建脚本将命令行参数传递给 Java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文