`

Ant 条件判断 condition

 
阅读更多

转载自ant 条件判断 condition

 

1、istrue isfalse:断言 真 假

  1. <project name="testCondition">  
  2.     <target name="test">  
  3.         <condition property="scondition">  
  4.             <istrue value="true"/>                      
  5.         </condition>  
  6.         <antcall target="isTrue"></antcall>  
  7.         <antcall target="isFalse"></antcall>          
  8.     </target>  
  9.     <target name="isTrue" if="scondition">  
  10.         <echo>is ture</echo>  
  11.     </target>  
  12.     <target name="isFalse" unless="scondition">  
  13.         <echo>is false</echo>  
  14.     </target>  
  15. </project>  

    2、逻辑运算
    2.1、not 逻辑非 

  1. <project name="testCondition">  
  2.     <target name="test">  
  3.         <condition property="scondition">  
  4.             <not>  
  5.                 <istrue value="true"/>                      
  6.             </not>  
  7.         </condition>  
  8.         <antcall target="isTrue"></antcall>  
  9.         <antcall target="isFalse"></antcall>          
  10.     </target>  
  11.     <target name="isTrue" if="scondition">  
  12.         <echo>is ture</echo>  
  13.     </target>  
  14.     <target name="isFalse" unless="scondition">  
  15.         <echo>is false</echo>  
  16.     </target>  
  17. </project>  

    2.2、and 逻辑与

  1. <project name="testCondition">  
  2.     <target name="test">  
  3.         <condition property="scondition">  
  4.             <and>  
  5.                 <istrue value="true"/>  
  6.                 <istrue value="false"/>                      
  7.             </and>  
  8.         </condition>  
  9.         <antcall target="isTrue"></antcall>  
  10.         <antcall target="isFalse"></antcall>          
  11.     </target>  
  12.     <target name="isTrue" if="scondition">  
  13.         <echo>is ture</echo>  
  14.     </target>  
  15.     <target name="isFalse" unless="scondition">  
  16.         <echo>is false</echo>  
  17.     </target>  
  18. </project>  

    2.3、or 逻辑或 xor异或 (语法上与and类似)

    3、available 是否可用

  1. <project name="testCondition">  
  2.     <path id="all.test.classes">           
  3.          <pathelement location="bin"/>  
  4.     </path>  
  5.     <target name="test">  
  6.         <condition property="scondition">  
  7.             <!--在指定的classpath路径下是否存在资源 TestTest.class-->  
  8.             <available resource="TestTest.class">  
  9.                 <classpath refid="all.test.classes" />          
  10.             </available>  
  11.         </condition>  
  12.         <antcall target="isTrue"></antcall>  
  13.         <antcall target="isFalse"></antcall>          
  14.     </target>  
  15.     <target name="isTrue" if="scondition">  
  16.         <echo>is ture</echo>  
  17.     </target>  
  18.     <target name="isFalse" unless="scondition">  
  19.         <echo>is false</echo>  
  20.     </target>  
  21. </project>  

    4、isset 指定属性是否存在

  1. <project name="testCondition">  
  2.     <!--属性也可以通过ant参数-D来设置-->  
  3.     <property name="name" value="this is name"/>      
  4.     <target name="test">  
  5.         <condition property="scondition">  
  6.             <!--如果属性name不存在则返回false-->  
  7.             <isset property="name"/>  
  8.         </condition>  
  9.         <antcall target="isTrue"></antcall>  
  10.         <antcall target="isFalse"></antcall>          
  11.     </target>  
  12.     <target name="isTrue" if="scondition">  
  13.         <echo>is ture</echo>  
  14.     </target>  
  15.     <target name="isFalse" unless="scondition">  
  16.         <echo>is false</echo>  
  17.     </target>  
  18. </project>  

    5、equals 是否相等

  1. <project name="testCondition">  
  2.     <!--属性也可以通过ant参数-D来设置-->  
  3.     <property name="name" value="this is name"/>      
  4.     <target name="test">  
  5.         <condition property="scondition">  
  6.             <!--如果arg1的值与arg2的值相等返回true,否则为false-->  
  7.             <equals arg1="${name}" arg2="this is name"/>  
  8.         </condition>  
  9.         <antcall target="isTrue"></antcall>  
  10.         <antcall target="isFalse"></antcall>          
  11.     </target>  
  12.     <target name="isTrue" if="scondition">  
  13.         <echo>is ture</echo>  
  14.     </target>  
  15.     <target name="isFalse" unless="scondition">  
  16.         <echo>is false</echo>  
  17.     </target>  
  18. </project>   

   
    6、filesmatch 比较文件

  1. <project name="testCondition">          
  2.     <target name="test">  
  3.         <condition property="scondition">  
  4.             <!--如果file1所代表的文件与file2所代表的文件相等返回true,否则为false-->  
  5.             <filesmatch file1="testfile1.txt" file2="testfile2.txt"/>  
  6.         </condition>  
  7.         <antcall target="isTrue"></antcall>  
  8.         <antcall target="isFalse"></antcall>          
  9.     </target>  
  10.     <target name="isTrue" if="scondition">  
  11.         <echo>is ture</echo>  
  12.     </target>  
  13.     <target name="isFalse" unless="scondition">  
  14.         <echo>is false</echo>  
  15.     </target>  
  16. </project> 
分享到:
评论

相关推荐

    ant contrib if jar包

    总结来说,Ant Contrib If Jar包是Ant构建过程中的一个强大工具,它通过提供条件判断能力,使得构建脚本更加灵活和适应各种场景,提高了开发者的工作效率。如果你经常处理复杂构建流程,这个库无疑是一个值得添加到...

    apache-ant-1.5.2

    6. **条件(Condition)**:条件元素允许在Ant构建中进行逻辑判断,如检查文件是否存在、属性是否被设置等。 在“apache-ant-1.5.2”版本中,编译Ant可能涉及到以下步骤: 1. 获取源代码,通常从Apache官方仓库...

    Apache Ant Tutorial.pdf

    1. **条件判断**:通过 `&lt;condition&gt;` 和 `&lt;ifeval&gt;` 元素可以根据不同的条件执行不同的任务或目标。 2. **循环**:使用 `&lt;foreach&gt;` 元素可以对文件集或其他列表进行迭代操作。 3. **错误处理**:通过 `&lt;fail&gt;` ...

    Ant详细配置总结

    - **条件判断**:使用`&lt;condition&gt;`标签结合`&lt;if&gt;`和`&lt;unless&gt;`标签可以实现条件执行任务。 - **循环结构**:通过`&lt;foreach&gt;`标签可以对一组文件或目录执行相同的操作。 - **扩展任务**:除了内置的任务之外,还可以...

    ant打包编译全套资料

    7. **条件与选择**:通过`&lt;if&gt;`和`&lt;condition&gt;`等标签实现条件判断,根据不同的情况执行不同的任务。 8. **脚本支持**:Ant支持使用Java、JavaScript、Groovy等脚本语言编写复杂逻辑。 9. **外部工具集成**:如通过`...

    Apache ANT详解

    6. **条件(Condition)**:允许在执行任务前进行条件判断,如检查某个文件是否存在。 7. **宏定义(Macrodef)**:用于创建可重用的任务模板,提高代码复用性。 在实际应用中,开发者会结合ANT与其他工具,如...

    Ant入门教程,使用Ant自动生成JAR文件

    还有`&lt;condition&gt;`来实现条件判断,以及`&lt;for&gt;`、`&lt;foreach&gt;`进行循环操作。 ## 六、结合Maven或Gradle 虽然Ant功能强大,但随着项目的复杂度增加,管理构建文件可能会变得繁琐。现代的构建工具有如Maven和Gradle...

    ANT批量打包工具及教程

    - **if语句不支持condition**:确保已引入了ant-contrib库,并正确使用了条件标签。条件通常基于属性值进行判断,例如`&lt;available file="path/to/file" property="file.exists" /&gt;`。 - **找不到keystore**:检查...

    apache-ant-1.8.1

    同时,还有`&lt;condition&gt;`元素用于执行条件判断,决定是否执行特定的任务。 6. **插件扩展**:虽然Ant内建了许多任务,但通过引入第三方插件,如Maven的Ant Tasks,可以进一步扩展其功能,比如引入对Maven POM文件的...

    ant工具使用

    2. 条件(Condition):Ant提供了多种条件判断,如isset、available等,可以根据条件执行不同的任务。 六、Ant与版本控制系统集成 Ant可以与SVN、Git等版本控制系统集成,实现代码的版本管理操作,如checkout、...

    Ant使用指南(适合初学者)

    8. `&lt;condition&gt;`:条件判断,控制流程。 六、Ant与Maven对比 虽然Ant是最先流行的Java构建工具,但随着Maven的出现,其地位受到挑战。Maven基于约定优于配置的原则,提供更丰富的依赖管理和生命周期。然而,Ant...

    JAVA ANT 自动备份程序

    7. `&lt;condition&gt;`:条件判断,用于决定何时执行特定任务。 8. `&lt;exec&gt;`:执行外部命令,如Linux的cron job或Windows的任务计划程序。 为了实现增量备份,ANT可能使用了类似于`&lt;uptodate&gt;`的任务来检查源文件和目标...

    ant的build配置文件

    6. **条件(Condition)**:条件元素允许在构建过程中进行条件判断,例如检查文件是否存在,或者比较两个值。 在实际应用中,`build.xml`文件可能包含以下示例结构: ```xml ${build.dir}"/&gt; ${src.dir...

    Ant自动构建总结

    - `&lt;condition&gt;`任务用于条件判断,根据条件执行不同任务。 5. **文件集和资源集**: - `&lt;fileset&gt;`定义了一组文件和目录,通过`includes`和`excludes`属性筛选。 - `&lt;classpath&gt;`元素用于指定类路径,供编译、...

    Ant资料大全

    - `&lt;condition&gt;`元素可以用于条件判断,只有满足条件时,相关的目标才会被执行。 5. **文件集(Filesets)** - 文件集是一种选择一组文件的方式,它可以应用于许多任务,如编译、复制或删除。 - `&lt;fileset&gt;`元素...

    超强ant学习资料

    4. **条件(Condition)**:Ant提供了一系列条件判断,如文件是否存在、版本比较等,可以决定是否执行某个任务或目标。 二、Ant的使用步骤 1. **创建build.xml**:根据项目需求,编写XML格式的构建文件,定义目标...

    ant入门资料.快速上手

    - `Ant`提供了多种条件判断任务,如`&lt;condition&gt;`。 **6.12 替换replace** - 使用`&lt;replacetokens&gt;`或`&lt;replace&gt;`任务可以替换文本文件中的内容。 **6.13 调用chmod** - `Ant`提供了`&lt;chmod&gt;`任务来改变文件权限...

    Ant使用指南.zip

    - **条件(Condition)**: 在任务执行前进行判断,如文件是否存在,版本号比较等。 3. **Ant的任务(Tasks)** - **编译任务(javac)**: 使用Java编译器将源代码编译为字节码。 - **资源复制(copy)**: 复制...

    ant中文版教程word格式

    此外,Ant的XML结构允许你通过`&lt;condition&gt;`元素进行条件判断,根据特定条件执行或跳过某些任务。`&lt;classpath&gt;`元素用于指定类路径,确保在执行任务时能够找到所需的类。`&lt;fileset&gt;`和`&lt;dirset&gt;`元素则用来指定一组...

Global site tag (gtag.js) - Google Analytics