通过Ant构建脚本传递命令行参数到Java [英] Passing command line arguments to Java via ant build script

查看:464
本文介绍了通过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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆