在ant中处理逻辑判断真是麻烦,只能作用于task,要利用property来做判断,使用available来设置property。例如:
<?xml version="1.0" encoding="GB2312"?>
<project name="weblogic ant task" default="build">
<target name="detect.file" >
<condition property="fileIsExists" >
<and>
<available file="c:/123.txt"/>
</and>
</condition>
</target>
<target name="echoDemo" if="fileIsExists" depends="detect.file">
<echo message="hello ant"/>
</target>
<target name="build">
<antcall target="echoDemo"/>
</target>
</project>
上面判断一个文件,如果存在的话 fileIsExists 就为true,echoDemo这个task在执行前会先判断fileIsExists 是否为true如果不为true就
不执行了。c盘下面有123.txt的话会打印hello ant 否则不会打印。
这里面还有一个小陷阱,我习惯使用antcall,不喜欢使用depends,但是使用antcall的话就会有问题,例如我最开始这么写的,就不行。
<?xml version="1.0" encoding="GB2312"?>
<project name="weblogic ant task" default="build">
<target name="detect.file">
<condition property="fileIsExists">
<and>
<available file="c:/123.txt"/>
</and>
</condition>
</target>
<target name="echoDemo" if="fileIsExists">
<echo message="hello ant"/>
</target>
<target name="build">
<antcall target="detect.file"/>
<antcall target="echoDemo"/>
</target>
</project>
使用antcall的话在echoDemo这个task执行的时候fileIsExists这个属性永远不为true,即便在执行完detect.file后它已经为true了。
分享到:
相关推荐
在Ant构建过程中,JavaScript脚本方法的使用是一个强大的工具,它允许开发者自定义构建过程,实现更复杂的逻辑和任务自动化。Ant是一个Java库和命令行工具,它的设计目标是驱动软件构建过程,尤其是在Java项目中。这...
例如,Ant-contrib包含了像foreach、if、switch这样的控制结构,使得在Ant脚本中可以实现更复杂的逻辑。这对于自动化构建过程中的条件判断和循环操作非常有用。 在Ant的官方网站上,你可以找到最新版本的Ant以及Ant...
6. **条件(Condition)**:条件元素允许在Ant构建中进行逻辑判断,如检查文件是否存在、属性是否被设置等。 在“apache-ant-1.5.2”版本中,编译Ant可能涉及到以下步骤: 1. 获取源代码,通常从Apache官方仓库...
例如,`<foreach>`任务可以用来遍历集合,`<if>`和`<unless>`条件则允许在构建过程中进行条件判断。这些功能极大地增强了Ant的灵活性和可读性,使得构建脚本能更好地适应复杂的构建逻辑。 "README.txt"文件通常是...
1. **条件语句和循环**:通过`if`、`unless`属性,可以在构建脚本中添加条件判断逻辑。而`foreach`任务则提供了循环遍历列表的能力。 2. **文件列表和路径操作**:`fileset`和`path`元素用于处理文件列表和路径,...
除了`for`宏,`ant-contrib`还提供了其他有用的宏,如`foreach`、`if`、`unless`等,它们分别对应于迭代、条件判断等功能,使得Ant脚本可以处理更复杂的逻辑。 "使用说明.txt"文件则详细介绍了如何将`ant-contrib`...
在Ant的标准任务中,并没有提供直接的循环处理方式,而`<foreach>`标签则填补了这一空白。通过`<foreach>`,我们可以遍历集合或数组,执行相应的任务,这对于处理批量操作,如编译多个源代码文件或者执行一系列相似...
在实际应用中,互相调用可以实现很多功能,比如分模块构建、共享构建逻辑、条件判断等。通过这种方式,开发者可以将复杂的构建过程分解为多个小部分,提高代码的复用性和可维护性。 至于标签“源码”,这可能暗示...
4. **Condition**:用于控制任务执行的逻辑判断,如检查文件是否存在或某个属性是否已设置。 5. **Fileset**:指定一组文件或目录,可以作为任务的操作对象。 在解压“apache-ant-1.10.12-bin.zip”后,你会找到...
这些任务使得Ant脚本可以进行循环操作、条件判断等更复杂的逻辑控制,极大地增强了Ant脚本的表达能力。 "ant-contrib"目录下的"antlib.xml"文件是Ant Contrib的核心资源,它通过Ant的类加载机制被引入到构建环境中...
3. 逻辑操作:通过`<and>`、`<or>`、`<not>`标签,可以组合多个条件进行逻辑判断。 ```xml 两个属性都已设置 ``` 4. 异常处理:你可以定义一个`<unless>`标签来执行当条件不满足时的任务。 ```xml ${...
1. 改进的属性处理:Ant 1.7.0在属性处理上更加灵活,支持属性的运算和条件判断,使得属性的值可以根据其他属性动态计算。 2. 引入了路径(Path)元素:允许更方便地处理类路径,可以包含多个目录和JAR文件,简化了...
在Ant中,可能会使用到这些工具来处理数据结构或执行复杂的逻辑。例如,通过这个库,可以在构建脚本中创建更复杂的条件判断或迭代操作。 3. `commons-pool-1.3.jar`:Apache Commons Pool是对象池设计模式的实现,...
Ant Contrib库是一个非官方的Ant任务集合,它提供了一些在标准Ant中没有的任务,如foreach、if、while等,这些任务使得Ant能够实现更复杂的逻辑,比如循环和条件判断。在"ant-contrib-1.0b3-bin.tar.gz"压缩包中,...
8. **脚本支持**:Ant支持使用Java、JavaScript、Groovy等脚本语言编写复杂逻辑。 9. **外部工具集成**:如通过`<exec>`标签调用外部命令行工具,如JUnit进行测试。 10. **Eclipse集成**:在Eclipse中配置Ant,创建...
6. **条件与循环**:ANT的和标签允许在构建脚本中添加条件判断和循环逻辑,使脚本更灵活。 7. **构建过程的定制化**:ANT的XML配置文件是其灵魂,可以根据项目需求自定义构建流程,实现高度定制化的自动化测试。 ...
6. **条件语句与循环**:Ant提供了一些元素,如`<if>`、`<unless>`、`<for>`等,允许在构建脚本中实现条件判断和循环,增强了构建脚本的复杂性。 7. **属性和变量**:Ant中的`<property>`标签用于设置和引用属性,...
1. **循环任务**:如foreach、for、if、while等,这些任务允许在Ant构建脚本中实现条件判断和迭代逻辑。 2. **数据类型**:如map、path、propertyfile等,这些类型扩展了Ant对数据结构的处理能力。 3. **网络任务**...
本项目主要关注的是Ant Design Vue中的菜单(Menu)组件,特别是如何处理后台返回的无限层级菜单数据进行展示。 在实际的Web应用开发中,尤其是那些拥有复杂权限管理和动态路由的系统,后端服务器通常会返回一个...
这些增强使得Ant脚本更接近于编程语言,可以处理更复杂的构建逻辑。 在"ant-contrib-1.0.jar.zip"中,最重要的文件是"ant-contrib-1.0.jar",这是Ant Contrib库的实现,包含了所有自定义任务和条件的类。开发者在...