`

ant中处理逻辑判断

    博客分类:
  • Ant
 
阅读更多

在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构建中使用JS脚本方法

    在Ant构建过程中,JavaScript脚本方法的使用是一个强大的工具,它允许开发者自定义构建过程,实现更复杂的逻辑和任务自动化。Ant是一个Java库和命令行工具,它的设计目标是驱动软件构建过程,尤其是在Java项目中。这...

    官网下载完整的Ant,包括Ant-contrib

    例如,Ant-contrib包含了像foreach、if、switch这样的控制结构,使得在Ant脚本中可以实现更复杂的逻辑。这对于自动化构建过程中的条件判断和循环操作非常有用。 在Ant的官方网站上,你可以找到最新版本的Ant以及Ant...

    apache-ant-1.5.2

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

    ant-contrib.jar

    例如,`&lt;foreach&gt;`任务可以用来遍历集合,`&lt;if&gt;`和`&lt;unless&gt;`条件则允许在构建过程中进行条件判断。这些功能极大地增强了Ant的灵活性和可读性,使得构建脚本能更好地适应复杂的构建逻辑。 "README.txt"文件通常是...

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

    1. **条件语句和循环**:通过`if`、`unless`属性,可以在构建脚本中添加条件判断逻辑。而`foreach`任务则提供了循环遍历列表的能力。 2. **文件列表和路径操作**:`fileset`和`path`元素用于处理文件列表和路径,...

    ant-contrib-0.6

    除了`for`宏,`ant-contrib`还提供了其他有用的宏,如`foreach`、`if`、`unless`等,它们分别对应于迭代、条件判断等功能,使得Ant脚本可以处理更复杂的逻辑。 "使用说明.txt"文件则详细介绍了如何将`ant-contrib`...

    ant-contrib-1.0b3的jar.zip

    在Ant的标准任务中,并没有提供直接的循环处理方式,而`&lt;foreach&gt;`标签则填补了这一空白。通过`&lt;foreach&gt;`,我们可以遍历集合或数组,执行相应的任务,这对于处理批量操作,如编译多个源代码文件或者执行一系列相似...

    Java Ant 互相调用

    在实际应用中,互相调用可以实现很多功能,比如分模块构建、共享构建逻辑、条件判断等。通过这种方式,开发者可以将复杂的构建过程分解为多个小部分,提高代码的复用性和可维护性。 至于标签“源码”,这可能暗示...

    apache-ant-1.10.12-bin.zip

    4. **Condition**:用于控制任务执行的逻辑判断,如检查文件是否存在或某个属性是否已设置。 5. **Fileset**:指定一组文件或目录,可以作为任务的操作对象。 在解压“apache-ant-1.10.12-bin.zip”后,你会找到...

    ant-contrib源文件

    这些任务使得Ant脚本可以进行循环操作、条件判断等更复杂的逻辑控制,极大地增强了Ant脚本的表达能力。 "ant-contrib"目录下的"antlib.xml"文件是Ant Contrib的核心资源,它通过Ant的类加载机制被引入到构建环境中...

    ant contrib if jar包

    3. 逻辑操作:通过`&lt;and&gt;`、`&lt;or&gt;`、`&lt;not&gt;`标签,可以组合多个条件进行逻辑判断。 ```xml 两个属性都已设置 ``` 4. 异常处理:你可以定义一个`&lt;unless&gt;`标签来执行当条件不满足时的任务。 ```xml ${...

    ant-1.7.0.jar

    1. 改进的属性处理:Ant 1.7.0在属性处理上更加灵活,支持属性的运算和条件判断,使得属性的值可以根据其他属性动态计算。 2. 引入了路径(Path)元素:允许更方便地处理类路径,可以包含多个目录和JAR文件,简化了...

    ant编译的文件要在eclipse中编译需要的jar文件

    在Ant中,可能会使用到这些工具来处理数据结构或执行复杂的逻辑。例如,通过这个库,可以在构建脚本中创建更复杂的条件判断或迭代操作。 3. `commons-pool-1.3.jar`:Apache Commons Pool是对象池设计模式的实现,...

    ant-contrib-1.0b3-bin.tar.gz

    Ant Contrib库是一个非官方的Ant任务集合,它提供了一些在标准Ant中没有的任务,如foreach、if、while等,这些任务使得Ant能够实现更复杂的逻辑,比如循环和条件判断。在"ant-contrib-1.0b3-bin.tar.gz"压缩包中,...

    ant打包编译全套资料

    8. **脚本支持**:Ant支持使用Java、JavaScript、Groovy等脚本语言编写复杂逻辑。 9. **外部工具集成**:如通过`&lt;exec&gt;`标签调用外部命令行工具,如JUnit进行测试。 10. **Eclipse集成**:在Eclipse中配置Ant,创建...

    自动化测试系列二 ANT

    6. **条件与循环**:ANT的和标签允许在构建脚本中添加条件判断和循环逻辑,使脚本更灵活。 7. **构建过程的定制化**:ANT的XML配置文件是其灵魂,可以根据项目需求自定义构建流程,实现高度定制化的自动化测试。 ...

    [待删除]Apache Ant

    6. **条件语句与循环**:Ant提供了一些元素,如`&lt;if&gt;`、`&lt;unless&gt;`、`&lt;for&gt;`等,允许在构建脚本中实现条件判断和循环,增强了构建脚本的复杂性。 7. **属性和变量**:Ant中的`&lt;property&gt;`标签用于设置和引用属性,...

    ant-contrib-0.3.jar.zip

    1. **循环任务**:如foreach、for、if、while等,这些任务允许在Ant构建脚本中实现条件判断和迭代逻辑。 2. **数据类型**:如map、path、propertyfile等,这些类型扩展了Ant对数据结构的处理能力。 3. **网络任务**...

    vue_ant-design-vue菜单递归

    本项目主要关注的是Ant Design Vue中的菜单(Menu)组件,特别是如何处理后台返回的无限层级菜单数据进行展示。 在实际的Web应用开发中,尤其是那些拥有复杂权限管理和动态路由的系统,后端服务器通常会返回一个...

    ant-contrib-1.0.jar.zip

    这些增强使得Ant脚本更接近于编程语言,可以处理更复杂的构建逻辑。 在"ant-contrib-1.0.jar.zip"中,最重要的文件是"ant-contrib-1.0.jar",这是Ant Contrib库的实现,包含了所有自定义任务和条件的类。开发者在...

Global site tag (gtag.js) - Google Analytics