通过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的build.xml文件,可以自动化执行Proguard混淆过程。在Android项目中,我们通常会在build.xml文件中添加一个target,专门负责Proguard的操作。 **三、Ant配置Proguard** 1. **添加Proguard库**:首先,...
在这个例子中,Ant使用`exec`任务来执行`test.bat`,`/c`参数表示命令执行完后关闭命令窗口,`arg`元素用于传递参数给批处理文件。通过`property`定义的`argpath`值会被传递给`test.bat`,然后`test.bat`可以调用...
3. **宏定义和参数化**:使用`macrodef`可以定义自定义任务,通过`param`元素传递参数,使构建脚本更加灵活和复用性更强。 五、最佳实践与技巧 1. **构建文件结构化**:将构建逻辑按照功能模块化,每个模块对应一...
同时,Ant允许通过属性来传递参数,这使得构建脚本更具灵活性,可以根据不同的环境或需求进行调整。 总的来说,Apache Ant 1.9.11作为一个强大的自动化构建工具,为Cocos2d-x开发者提供了便捷的项目构建解决方案,...
如果需要在Java代码中向Ant传递命令行参数,可以修改`command`数组,例如设置属性值: ```java String[] command = {"-DmyProperty=value", "-f", "path/to/build.xml", "compile"}; ``` 在Ant构建文件中,可以...
用户可以通过命令行界面调用这个程序,传递build.xml文件路径和相关参数,执行构建过程。 Ant的主要优点包括: 1. 易于理解和使用:XML格式使得构建脚本易于阅读和编写。 2. 非侵入性:Ant不依赖于项目代码,因此...
在Ant中,`java`任务通常用来运行Java类或者执行含有main方法的程序,同时可以传递参数和加载额外的类路径(classpath)。为了发送邮件,你需要创建一个Java类,该类使用JavaMail API编写,然后在Ant脚本中使用`java...
开发者通常会将项目源代码存放在SVN服务器上,通过Ant的svn任务来实现版本控制操作,如更新代码库到本地。这需要在Ant构建文件中配置SVN的相关属性,如URL、用户名和密码,然后调用对应的svn update任务。 "编译...
- **参数**:通过`<arg>`标签传递额外参数。 ### 三、使用Ant关闭Tomcat 与启动Tomcat类似,我们也可以在Ant构建脚本中定义一个目标来停止Tomcat。下面的XML配置展示了如何实现这一功能: ```xml ${tomcat.home...
总结来说,Ant 调用 Java 类的过程主要包括定义类路径、指定要运行的类、决定是否在新进程中运行以及传递参数。通过 `<java>` 标签和相关的 `<path>` 标签,可以灵活地控制 Java 类的执行环境和行为。同时,通过属性...
`Project`类中的`Properties`子类管理属性,属性的值可以通过XML配置文件、命令行参数或者任务内部设定。 5. **文件集(FileSet)**:Ant提供了对文件和目录操作的支持,文件集(FileSet)是其中的一种,它可以指定...
Ant 通过传递属性(Properties)来提供参数化构建的能力。这些属性可以在命令行上设置,也可以在构建文件中定义,为构建过程提供了灵活性。例如,可以设置`src.dir`指向源代码目录,`dest.dir`为编译结果的目标目录...
使用这种方式,你可以根据需要动态地控制Ant的执行,例如根据运行时条件选择不同的目标,或者传递参数给Ant任务。同时,你还可以利用Java的强类型和面向对象特性,将Ant调用封装为更复杂的类和方法,以适应具体的...
4. **属性(Property)**:在Ant中,可以定义全局或局部属性,这些属性可以在整个构建过程中被引用和传递。这有助于实现参数化构建,适应不同的环境和需求。 5. **条件(Condition)**:Ant提供了多种条件检查,如...
每个任务都可以通过XML标签来调用,并且可以接受参数以定制其行为。例如,`<javac>`任务用于编译Java源代码,而`<jar>`任务则用于打包编译后的类文件到JAR文件。 在Ant中,构建过程是通过build.xml文件来描述的。这...
- **属性使用**:学习如何定义和使用Ant属性,以便在构建文件中传递参数。 - **文件集(Filesets)**:掌握如何选择和操作一组文件,例如通过元素指定需要编译的源代码目录。 - **条件语句**:了解如何根据条件执行...
1. **XML构建文件**: Ant的构建过程通过一个名为`build.xml`的XML文件进行定义,该文件包含了构建任务和目标的结构。 2. **任务(Task)**: 任务是Ant构建过程中的基本操作单元,如`javac`用于编译Java源码,`jar`用于...
TeamCity支持传递系统参数、环境变量和项目参数到Ant脚本,这样你可以根据需要动态调整构建行为。例如,你可以设置一个参数来决定是否启用代码覆盖率报告的生成。 7. **日志和报告** TeamCity会收集Ant脚本运行时...
在这里,`list`属性定义了一个以逗号分隔的值列表,`param`属性定义了每次迭代时传递给内部任务的参数名。`sequential`元素内的任务将在每次迭代中执行,其中`itemName`会被设置为当前列表中的项。 除了`for`宏,`...