通过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
。
我需要用 System.getProperty
或 System.getenv
来访问从Java code这些参数。
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:
- 使用
< sysproperty>
通过系统属性需要设置: - 使用
<&ARG GT;
来传递命令行参数到Java类 - 使用
< jvmarg>
将参数传递给您的Java命令本身 - 如果您叉您的Java任务,你也可以设置环境变量太多。如果你不叉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>
希望这个例子可以帮助
Hope that example helps
这篇关于通过Ant构建脚本传递命令行参数到Java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文