写在前面:最近用ANT脚本用的比较的多,发现在ANT中使用条件判断有些麻烦,就查点资料,:(1)可以使用condition进行逻辑的判断,接受的属性是property,相当于boolean xx=true(或false),if,unless相当于if-else.(2)可以使用antcontrib.jar这个包文件,大概看了一下,就是将condition拿掉,使用我们熟悉的if-else-then的结果进行业务逻辑的判断!!
<?xml version="1.0" encoding="UTF-8"?>
<project name="cvs package" basedir="." default="packing_cvs_package.init">
<!--<property name="hello" value="true"/>-->
<!--ant-contrib classpath-->
<input message="Please input the hello name:" addproperty="hello" />
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="E:/apache-ant-1.8.2/ant-contrib/ant-contrib-1.0b2.jar"/>
</classpath>
</taskdef>
<!--default-->
<target name="packing_cvs_package.init">
<if>
<equals arg1="${hello}" arg2="true"/>
<then>
<echo >${hello} value is true</echo>
</then>
<elseif>
<equals arg1="${hello}" arg2="false"/>
<then>
<echo >${hello} value is false</echo>
</then>
</elseif>
<else>
<echo >${hello} value is unknowe</echo>
</else>
</if>
</target>
</project>
上面的有些路径写绝对路径了,修改下:
<project name="imported" basedir="." default="packing_cvs_package.init">
<dirname property="imported.basedir" file="${ant.file.imported}"/>
<property file="${imported.basedir}/base.properties"/>
<input message="Please input the hello name:" addproperty="hello" />
<!--ant-contrib classpath-->
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="${path}"/>
</classpath>
</taskdef>
<!--default-->
<target name="packing_cvs_package.init">
<if>
<equals arg1="${hello}" arg2="true"/>
<then>
<echo >${hello} value is true</echo>
</then>
<elseif>
<equals arg1="${hello}" arg2="false"/>
<then>
<echo >${hello} value is false</echo>
</then>
</elseif>
<else>
<echo >${hello} value is unknowe</echo>
</else>
</if>
</target>
</project>
base.properties文件的内容:
path=E:/apache-ant-1.8.2/ant-contrib/ant-contrib-1.0b2.jar
就是一个地址!!
分享到:
相关推荐
而"ant.license.txt"很可能是AntContrib的许可协议文件,详细说明了该库的使用权限和限制,对于合法使用AntContrib是至关重要的。 总的来说,AntContrib.jar.zip是一个提供给Java开发者使用的工具,它扩展了Ant的...
在实际使用中,你需要将`ant-contrib-1.0b3.jar`添加到Ant的类路径中。这可以通过在`build.xml`文件中添加`classpath`元素来实现,或者在运行Ant时通过`-lib`选项指定。 总的来说,`ant-contrib-1.0b3.jar`是Ant...
在Ant的构建脚本中,我们可以使用`<taskdef>`元素来引入Ant Contrib中的任务,这样我们就可以在脚本中使用这些扩展任务。例如,要使用`for`任务,我们需要在脚本开头定义任务: ```xml <taskdef resource="net/sf/...
Apache Ant是一个广泛使用的Java构建工具,它提供了灵活的构建脚本,可以执行编译、打包、测试等任务。在本场景中,我们将关注如何利用Ant来批量压缩JavaScript(js)和CSS(css)文件,以优化网页加载速度并减小...
例如,要在Ant脚本中使用"foreach"任务,只需引入antlib并调用即可: ```xml <taskdef resource="net/sf/antcontrib/antlib.xml"/> , item2, item3" target="process-item"/> ${item}"/> ``` 在这个例子中,...
Apache Ant 是一个广泛使用的Java构建工具,它遵循XML格式的构建文件来编译、打包、测试和部署Java项目。在“apache-ant-1.8.2-src.zip”这个压缩包中,包含了Apache Ant 1.8.2版本的源代码,这为我们深入理解其内部...
Ant是Java开发中广泛使用的自动化构建工具,它可以编译、测试、打包和部署Java项目。Ant Contrib提供了更多的任务和数据类型,补充了Ant内置的功能。 描述中提到,"ant-contrib-1.jar工具"通常用于解决在搭建ANT...
<taskdef resource="net/sf/antcontrib/antlib.xml"> <pathelement location="path/to/ant-contrib-1.0.jar"/> ``` 这里,`resource`属性指定了Ant Contrib的任务定义资源文件,`classpath`则指定了Ant ...
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="lib/ant-contrib.jar"/> ``` 在这个例子中,`scp`任务将本地的`localfile.txt`文件上传到名为`hostname`的远程服务器的`/...
<taskdef resource="net/sf/antcontrib/antlib.xml"/> , item2, item3" target="doSomething" param="item"/> ``` 然后,可以定义一个名为"doSomething"的目标来处理每个列表项。 总的来说,"ant-contrib-0.3.jar....
<taskdef resource="net/sf/antcontrib/antlib.xml" classpath="path/to/ant-contrib.jar"/> <!-- 如果使用了ant-contrib库 --> <path id="ant.classpath"> server="ftp.example.com" userid=...
在Ant中,我们可以使用`<filter>`任务结合`<copy>`或`<move>`任务来实现文件的编码转换。`<filterchain>`元素允许我们创建一系列过滤器,其中可以包含`<replaceregexp>`用于替换特定模式的字符串,或者`...
《Ant Contrib R170.jar.zip:Apache Ant的...然而,需要注意的是,随着时间的推移,新的Ant版本可能会包含部分Ant Contrib的功能,因此在选择使用Ant Contrib时,应该评估其与当前Ant版本的兼容性和项目的具体需求。
<taskdef resource="net/sf/antcontrib/antlib.xml"> <pathelement location="path/to/ant-contrib.jar"/> ``` 请注意,这里需要确保`ant-contrib.jar`库在你的类路径中,因为`ftp`任务是作为Ant Contrib库...
Apache Ant是一个广泛使用的Java构建工具,它基于XML来定义项目任务,提供了灵活的构建脚本。在Ant的生态系统中,"ant-contrib"是一个非常重要的扩展库,它为Ant添加了许多额外的任务和条件,极大地丰富了Ant的功能...
以下是一个简单的示例,展示如何使用Ant Contrib的foreach任务进行多渠道打包: ```xml <taskdef resource="net/sf/antcontrib/antlib.xml"/> ,channel2,channel3"/> ${channels}"> <!-- 在这里插入...
<taskdef resource="net/sf/antcontrib/antlib.xml" classpath="path/to/ant-task-1.3.2.jar"/> ``` 在描述中提到的“jar.zip包下载”可能指的是Ant Task 1.3.2.jar被封装在了一个名为“ant-task-1.3.2.jar.zip”的...
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${lib.dir}/ant-contrib.jar"/> ``` 这行代码引入了Ant Contrib库中的额外任务。 4. **目标定义**: 目标(Target)是一系列任务的...
在使用"ant-tasks-2.1.3.jar.zip"时,开发者首先需要将其解压,得到"ant-tasks-2.1.3.jar"。然后,在Ant的构建脚本(通常命名为build.xml)中,通过`<taskdef>`元素引入这个JAR文件,这样就可以在构建过程中调用其中...
<taskdef resource="net/sf/antcontrib/antlib.xml"/> <taskdef name="mail" classname="org.apache.tools.ant.taskdefs.optional.mail.Mail"> <pathelement location="path/to/ant-javamail-1.6.jar"/> ``` ...