`

通过ant传递参数

    博客分类:
  • ant
 
阅读更多

通过ant命令行传递参数的两种: 1、通过 System中的Property传递  2、通过main方法中的args参数传递

 

直接代码:

ShowProps:

package com.matt;

public class ShowProps {
    public static void main(String[] args) {
        System.out.println("Now in ShowProps class...");
        System.out.println("prop1     = " + System.getProperty("prop1"));
        System.out.println("prop2     = " + System.getProperty("prop2"));
        System.out.println("prop3     = " + System.getProperty("prop3"));
        System.out.println("args     = " + args[0]);
        System.out.println("user.home = " + System.getProperty("user.home"));
    }
}

 

build.xml:

<?xml version="1.0"?>
<project name="sysprops" default="run" basedir=".">
  <property name="prop1" value="Property 1 from Buildfile"/>
  <property name="prop2" value="Property 2 from Buildfile"/>
  <property name="args" value="args"/>

  <target name="clean">
    <delete dir="com"/>
  </target>

  <target name="compile">
    <javac srcdir="." destdir=".">
      <classpath path="."/>
    </javac>
  </target>

  <target name="run" depends="compile">
  <echo message="Now in buildfile..."/>
    <echo message="prop1     = ${prop1}"/>
    <echo message="prop2     = ${prop2}"/>
    <echo message="user.home = ${user.home}"/> 

    <!-- execute the main() method in a Java class -->
    <java classname="com.matt.ShowProps">
      <classpath path="."/>
      <!-- pass one of the properties -->
      <sysproperty key="prop1" value="${prop1}"/>
      <sysproperty key="prop3" value="${prop2}"/>
      <arg value="${args}"/>
    </java>
  </target>

</project>

 

直接运行ant命令,结果:

     [java] Now in ShowProps class...
     [java] prop1     = Property 1 from Buildfile
     [java] prop2     = null
     [java] prop3     = Property 2 from Buildfile
     [java] args     = args
     [java] user.home = C:\Users\matt

 

运行命令: ant  -Dprop1="prop1",-Dprop2="prop2",-Dprop3="prop3",-Dargs="args1,args2,args3,args4"

结果:

  [java] Now in ShowProps class...
     [java] prop1     = prop1
     [java] prop2     = null
     [java] prop3     = prop2
     [java] args     = args1,args2,args3,args4
     [java] user.home = C:\Users\matt

 

分享到:
评论

相关推荐

    ant修改参数重新编译的 Proguard 4.7

    通过配置Ant的build.xml文件,可以自动化执行Proguard混淆过程。在Android项目中,我们通常会在build.xml文件中添加一个target,专门负责Proguard的操作。 **三、Ant配置Proguard** 1. **添加Proguard库**:首先,...

    ant简明教程;ant调用bat方法

    在这个例子中,Ant使用`exec`任务来执行`test.bat`,`/c`参数表示命令执行完后关闭命令窗口,`arg`元素用于传递参数给批处理文件。通过`property`定义的`argpath`值会被传递给`test.bat`,然后`test.bat`可以调用...

    ant开发指南用于说明ant一些相关信息

    3. **宏定义和参数化**:使用`macrodef`可以定义自定义任务,通过`param`元素传递参数,使构建脚本更加灵活和复用性更强。 五、最佳实践与技巧 1. **构建文件结构化**:将构建逻辑按照功能模块化,每个模块对应一...

    apache-ant-1.9.11

    同时,Ant允许通过属性来传递参数,这使得构建脚本更具灵活性,可以根据不同的环境或需求进行调整。 总的来说,Apache Ant 1.9.11作为一个强大的自动化构建工具,为Cocos2d-x开发者提供了便捷的项目构建解决方案,...

    java编程式启动ant

    如果需要在Java代码中向Ant传递命令行参数,可以修改`command`数组,例如设置属性值: ```java String[] command = {"-DmyProperty=value", "-f", "path/to/build.xml", "compile"}; ``` 在Ant构建文件中,可以...

    ant+video.rar

    用户可以通过命令行界面调用这个程序,传递build.xml文件路径和相关参数,执行构建过程。 Ant的主要优点包括: 1. 易于理解和使用:XML格式使得构建脚本易于阅读和编写。 2. 非侵入性:Ant不依赖于项目代码,因此...

    ant发送邮件依赖jar包.rar

    在Ant中,`java`任务通常用来运行Java类或者执行含有main方法的程序,同时可以传递参数和加载额外的类路径(classpath)。为了发送邮件,你需要创建一个Java类,该类使用JavaMail API编写,然后在Ant脚本中使用`java...

    ant一键构建工具

    开发者通常会将项目源代码存放在SVN服务器上,通过Ant的svn任务来实现版本控制操作,如更新代码库到本地。这需要在Ant构建文件中配置SVN的相关属性,如URL、用户名和密码,然后调用对应的svn update任务。 "编译...

    ant启动关闭tomcat

    - **参数**:通过`&lt;arg&gt;`标签传递额外参数。 ### 三、使用Ant关闭Tomcat 与启动Tomcat类似,我们也可以在Ant构建脚本中定义一个目标来停止Tomcat。下面的XML配置展示了如何实现这一功能: ```xml ${tomcat.home...

    ant调用java类

    总结来说,Ant 调用 Java 类的过程主要包括定义类路径、指定要运行的类、决定是否在新进程中运行以及传递参数。通过 `&lt;java&gt;` 标签和相关的 `&lt;path&gt;` 标签,可以灵活地控制 Java 类的执行环境和行为。同时,通过属性...

    ant第三部分源码

    `Project`类中的`Properties`子类管理属性,属性的值可以通过XML配置文件、命令行参数或者任务内部设定。 5. **文件集(FileSet)**:Ant提供了对文件和目录操作的支持,文件集(FileSet)是其中的一种,它可以指定...

    apache-ant-1.9.6

    Ant 通过传递属性(Properties)来提供参数化构建的能力。这些属性可以在命令行上设置,也可以在构建文件中定义,为构建过程提供了灵活性。例如,可以设置`src.dir`指向源代码目录,`dest.dir`为编译结果的目标目录...

    java代码调用ant执行类

    使用这种方式,你可以根据需要动态地控制Ant的执行,例如根据运行时条件选择不同的目标,或者传递参数给Ant任务。同时,你还可以利用Java的强类型和面向对象特性,将Ant调用封装为更复杂的类和方法,以适应具体的...

    apache-ant-1.9.2-src

    4. **属性(Property)**:在Ant中,可以定义全局或局部属性,这些属性可以在整个构建过程中被引用和传递。这有助于实现参数化构建,适应不同的环境和需求。 5. **条件(Condition)**:Ant提供了多种条件检查,如...

    ant 1.70中文手册

    每个任务都可以通过XML标签来调用,并且可以接受参数以定制其行为。例如,`&lt;javac&gt;`任务用于编译Java源代码,而`&lt;jar&gt;`任务则用于打包编译后的类文件到JAR文件。 在Ant中,构建过程是通过build.xml文件来描述的。这...

    ant介绍使用视频和项目

    - **属性使用**:学习如何定义和使用Ant属性,以便在构建文件中传递参数。 - **文件集(Filesets)**:掌握如何选择和操作一组文件,例如通过元素指定需要编译的源代码目录。 - **条件语句**:了解如何根据条件执行...

    ant 1.8.1源代码

    1. **XML构建文件**: Ant的构建过程通过一个名为`build.xml`的XML文件进行定义,该文件包含了构建任务和目标的结构。 2. **任务(Task)**: 任务是Ant构建过程中的基本操作单元,如`javac`用于编译Java源码,`jar`用于...

    teamcity-ant脚本.rar

    TeamCity支持传递系统参数、环境变量和项目参数到Ant脚本,这样你可以根据需要动态调整构建行为。例如,你可以设置一个参数来决定是否启用代码覆盖率报告的生成。 7. **日志和报告** TeamCity会收集Ant脚本运行时...

    ant-contrib-0.6

    在这里,`list`属性定义了一个以逗号分隔的值列表,`param`属性定义了每次迭代时传递给内部任务的参数名。`sequential`元素内的任务将在每次迭代中执行,其中`itemName`会被设置为当前列表中的项。 除了`for`宏,`...

Global site tag (gtag.js) - Google Analytics