- 浏览: 335468 次
- 性别:
- 来自: 沈阳
文章分类
最新评论
-
znfsky:
找了好一会,原来要手动加链接库,赞一个
codeblocks处理undefined reference to `pthread_create' -
qiankai86:
Thank you!
java平均分配算法 -
yl419440513:
表名称和列名称中文乱码怎么解决呢
ResultSet 对象getTables()的用法 获取表的相关信息 -
sumaolin:
写的挺详细的啊
html marque元素标签属性的参数说明 -
brown802:
我都加过这个包啦,还是有错误
Unable to find parent packages json-default
而在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的官方参考文档
更复杂的可以参考
http://ant.apache.org/manual/CoreTasks/conditions.html
Condition
Description
Sets a property if a certain condition holds true - this is a generalization of Available and Uptodate.
If the condition holds true, the property value is set to true by default; otherwise, the property is not set. You can set the value to something other than the default by specifying the value attribute.
Conditions are specified as nested elements, you must specify exactly one condition.
Parameters
Attribute Description Required
property The name of the property to set. Yes
value The value to set the property to. Defaults to "true". No
else The value to set the property to if the condition evaluates to false. By default the property will remain unset. Since Ant 1.6.3 No
Parameters specified as nested elements
All conditions to test are specified as nested elements, for a complete list see here.
Examples
<condition property="javamail.complete">
<and>
<available classname="javax.activation.DataHandler"/>
<available classname="javax.mail.Transport"/>
</and>
</condition>
sets the property javamail.complete if both the JavaBeans Activation Framework and JavaMail are available in the classpath.
<condition property="isMacOsButNotMacOsX">
<and>
<os family="mac"/>
<not>
<os family="unix"/>
</not>
</and>
</condition>
sets the property isMacOsButNotMacOsX if the current operating system is MacOS, but not MacOS X - which Ant considers to be in the Unix family as well.
<condition property="isSunOSonSparc">
<os name="SunOS" arch="sparc"/>
</condition>
sets the property isSunOSonSparc if the current operating system is SunOS and if it is running on a sparc architecture.
1、istrue isfalse:断言 真 假
<project name="testCondition">
<target name="test">
<condition property="scondition">
<istrue value="true"/>
</condition>
<antcall target="isTrue"></antcall>
<antcall target="isFalse"></antcall>
</target>
<target name="isTrue" if="scondition">
<echo>is ture</echo>
</target>
<target name="isFalse" unless="scondition">
<echo>is false</echo>
</target>
</project>
2、逻辑运算
2.1、not 逻辑非
<project name="testCondition">
<target name="test">
<condition property="scondition">
<not>
<istrue value="true"/>
</not>
</condition>
<antcall target="isTrue"></antcall>
<antcall target="isFalse"></antcall>
</target>
<target name="isTrue" if="scondition">
<echo>is ture</echo>
</target>
<target name="isFalse" unless="scondition">
<echo>is false</echo>
</target>
</project>
2.2、and 逻辑与
<project name="testCondition">
<target name="test">
<condition property="scondition">
<and>
<istrue value="true"/>
<istrue value="false"/>
</and>
</condition>
<antcall target="isTrue"></antcall>
<antcall target="isFalse"></antcall>
</target>
<target name="isTrue" if="scondition">
<echo>is ture</echo>
</target>
<target name="isFalse" unless="scondition">
<echo>is false</echo>
</target>
</project>
2.3、or 逻辑或 xor异或 (语法上与and类似)
4、isset 指定属性是否存在
<project name="testCondition">
<!--属性也可以通过ant参数-D来设置-->
<property name="name" value="this is name"/>
<target name="test">
<condition property="scondition">
<!--如果属性name不存在则返回false-->
<isset property="name"/>
</condition>
<antcall target="isTrue"></antcall>
<antcall target="isFalse"></antcall>
</target>
<target name="isTrue" if="scondition">
<echo>is ture</echo>
</target>
<target name="isFalse" unless="scondition">
<echo>is false</echo>
</target>
</project>
5、equals 是否相等
<project name="testCondition">
<!--属性也可以通过ant参数-D来设置-->
<property name="name" value="this is name"/>
<target name="test">
<condition property="scondition">
<!--如果arg1的值与arg2的值相等返回true,否则为false-->
<equals arg1="${name}" arg2="this is name"/>
</condition>
<antcall target="isTrue"></antcall>
<antcall target="isFalse"></antcall>
</target>
<target name="isTrue" if="scondition">
<echo>is ture</echo>
</target>
<target name="isFalse" unless="scondition">
<echo>is false</echo>
</target>
</project>
6、filesmatch 比较文件
<project name="testCondition">
<target name="test">
<condition property="scondition">
<!--如果file1所代表的文件与file2所代表的文件相等返回true,否则为false-->
<filesmatch file1="testfile1.txt" file2="testfile2.txt"/>
</condition>
<antcall target="isTrue"></antcall>
<antcall target="isFalse"></antcall>
</target>
<target name="isTrue" if="scondition">
<echo>is ture</echo>
</target>
<target name="isFalse" unless="scondition">
<echo>is false</echo>
</target>
</project>
<?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的官方参考文档
更复杂的可以参考
http://ant.apache.org/manual/CoreTasks/conditions.html
Condition
Description
Sets a property if a certain condition holds true - this is a generalization of Available and Uptodate.
If the condition holds true, the property value is set to true by default; otherwise, the property is not set. You can set the value to something other than the default by specifying the value attribute.
Conditions are specified as nested elements, you must specify exactly one condition.
Parameters
Attribute Description Required
property The name of the property to set. Yes
value The value to set the property to. Defaults to "true". No
else The value to set the property to if the condition evaluates to false. By default the property will remain unset. Since Ant 1.6.3 No
Parameters specified as nested elements
All conditions to test are specified as nested elements, for a complete list see here.
Examples
<condition property="javamail.complete">
<and>
<available classname="javax.activation.DataHandler"/>
<available classname="javax.mail.Transport"/>
</and>
</condition>
sets the property javamail.complete if both the JavaBeans Activation Framework and JavaMail are available in the classpath.
<condition property="isMacOsButNotMacOsX">
<and>
<os family="mac"/>
<not>
<os family="unix"/>
</not>
</and>
</condition>
sets the property isMacOsButNotMacOsX if the current operating system is MacOS, but not MacOS X - which Ant considers to be in the Unix family as well.
<condition property="isSunOSonSparc">
<os name="SunOS" arch="sparc"/>
</condition>
sets the property isSunOSonSparc if the current operating system is SunOS and if it is running on a sparc architecture.
1、istrue isfalse:断言 真 假
<project name="testCondition">
<target name="test">
<condition property="scondition">
<istrue value="true"/>
</condition>
<antcall target="isTrue"></antcall>
<antcall target="isFalse"></antcall>
</target>
<target name="isTrue" if="scondition">
<echo>is ture</echo>
</target>
<target name="isFalse" unless="scondition">
<echo>is false</echo>
</target>
</project>
2、逻辑运算
2.1、not 逻辑非
<project name="testCondition">
<target name="test">
<condition property="scondition">
<not>
<istrue value="true"/>
</not>
</condition>
<antcall target="isTrue"></antcall>
<antcall target="isFalse"></antcall>
</target>
<target name="isTrue" if="scondition">
<echo>is ture</echo>
</target>
<target name="isFalse" unless="scondition">
<echo>is false</echo>
</target>
</project>
2.2、and 逻辑与
<project name="testCondition">
<target name="test">
<condition property="scondition">
<and>
<istrue value="true"/>
<istrue value="false"/>
</and>
</condition>
<antcall target="isTrue"></antcall>
<antcall target="isFalse"></antcall>
</target>
<target name="isTrue" if="scondition">
<echo>is ture</echo>
</target>
<target name="isFalse" unless="scondition">
<echo>is false</echo>
</target>
</project>
2.3、or 逻辑或 xor异或 (语法上与and类似)
4、isset 指定属性是否存在
<project name="testCondition">
<!--属性也可以通过ant参数-D来设置-->
<property name="name" value="this is name"/>
<target name="test">
<condition property="scondition">
<!--如果属性name不存在则返回false-->
<isset property="name"/>
</condition>
<antcall target="isTrue"></antcall>
<antcall target="isFalse"></antcall>
</target>
<target name="isTrue" if="scondition">
<echo>is ture</echo>
</target>
<target name="isFalse" unless="scondition">
<echo>is false</echo>
</target>
</project>
5、equals 是否相等
<project name="testCondition">
<!--属性也可以通过ant参数-D来设置-->
<property name="name" value="this is name"/>
<target name="test">
<condition property="scondition">
<!--如果arg1的值与arg2的值相等返回true,否则为false-->
<equals arg1="${name}" arg2="this is name"/>
</condition>
<antcall target="isTrue"></antcall>
<antcall target="isFalse"></antcall>
</target>
<target name="isTrue" if="scondition">
<echo>is ture</echo>
</target>
<target name="isFalse" unless="scondition">
<echo>is false</echo>
</target>
</project>
6、filesmatch 比较文件
<project name="testCondition">
<target name="test">
<condition property="scondition">
<!--如果file1所代表的文件与file2所代表的文件相等返回true,否则为false-->
<filesmatch file1="testfile1.txt" file2="testfile2.txt"/>
</condition>
<antcall target="isTrue"></antcall>
<antcall target="isFalse"></antcall>
</target>
<target name="isTrue" if="scondition">
<echo>is ture</echo>
</target>
<target name="isFalse" unless="scondition">
<echo>is false</echo>
</target>
</project>
- Ant.pdf (414.3 KB)
- 下载次数: 34
发表评论
-
SVN could not connect to server
2010-08-24 15:23 3837SVN could not connect to server ... -
在VISIO中如何插入表格?及数据?
2010-07-09 15:16 4587在形状/软件/COM和OLE中有一个Vtable形状,是一个可 ... -
jquery表格工具集(转)
2010-04-19 11:16 1144jquery的表格工具集合,整理的很全,很好很强大 http: ... -
在powerdesigen中建立主外键关联表
2010-03-16 14:45 1528在PD中建立物理模型由以下几种办法: 1.直接新建物理模型。 ... -
apache配置多个站点
2009-12-23 17:13 3058apache配置多个站点1、下 ... -
jsp论坛
2009-12-02 14:57 970http://down.chinaz.com/soft/235 ... -
JSP空间(Win版)开通后如何上传?
2009-11-12 20:39 1279这个是www.java-cn.com使用方法 JSP空间(W ... -
潜规则。。。公司招聘中不能说的秘密。。。
2009-11-11 10:42 934你是否试过狂轰乱炸地 ... -
超酷的3d图片墙flash+xml源文件
2009-11-09 16:24 1284全部是flash结合js做的 http://old.zcoo ... -
卡巴斯基2010(9.0)key激活商用授权文件安装方法
2009-11-08 18:05 1045http://www.kaba360.cn/kaspersky ... -
IE弹出页显示超链接问题的解决
2009-11-06 10:58 900在IE的工具里选择Internate选项, 选择安全,本地In ... -
手机无法联机
2009-11-06 09:21 1963情况有几种,现在给出几种来: 第一种山寨手机 无论是港版还 ... -
在windows XP下如何用Vmware安装操作系统
2009-10-28 16:07 4449下载VMWare解压后根据提示正触安装VMWare到硬盘中 ... -
大型企业信息系统的架构设计-SD2C-2009
2009-10-28 10:53 832学习企业管理系统的设计方案 5w1h 什么 怎么 哪里 谁 ... -
为什么主流Java MVC框架如此难以使用
2009-10-21 09:38 1613使用J2EE Web开发已经好 ...
相关推荐
6. **条件(Condition)**:条件元素允许在Ant构建中进行逻辑判断,如检查文件是否存在、属性是否被设置等。 在“apache-ant-1.5.2”版本中,编译Ant可能涉及到以下步骤: 1. 获取源代码,通常从Apache官方仓库...
通过下载并解压“apache-ant-1.10.12-bin.zip”,你可以开始在Java项目中使用Ant进行编译、打包和其他构建任务。理解Ant的基本概念和组件对于任何Java开发者来说都是必要的,因为它可以帮助你有效地管理和自动化项目...
为了在Ant项目中使用这个库,你需要将下载的ant-contrib.jar文件添加到Ant的类路径中,然后就可以在你的构建脚本中自由地使用这些条件语句了。 在解压下载的"ant-contrib"压缩包后,你会看到jar文件和其他可能的...
在Ant中,可以通过属性(property)来引用定义好的变量值,也可以设置条件判断(condition)和循环(for、while等)来控制构建过程。这样的配置方式极大地方便了构建过程的管理和维护。 在实际项目中,一个典型的...
- **条件判断**:使用`<condition>`标签结合`<if>`和`<unless>`标签可以实现条件执行任务。 - **循环结构**:通过`<foreach>`标签可以对一组文件或目录执行相同的操作。 - **扩展任务**:除了内置的任务之外,还可以...
8. **脚本支持**:Ant支持使用Java、JavaScript、Groovy等脚本语言编写复杂逻辑。 9. **外部工具集成**:如通过`<exec>`标签调用外部命令行工具,如JUnit进行测试。 10. **Eclipse集成**:在Eclipse中配置Ant,创建...
7. **脚本支持**:Ant允许在任务中嵌入Java、JavaScript或Groovy等脚本,使得构建过程更灵活,可以执行更复杂的逻辑。 8. **外部资源引用**:在`build.xml`中,可以使用相对路径或绝对路径引用项目中的文件和目录,...
Apache Ant 是一个强大的构建工具,尤其在Java开发领域中广泛使用。它是一个基于Java的工具,设计目的是为了克服传统编译工具如make的局限性,尤其是跨平台的问题。Ant通过XML格式的构建文件(通常命名为build.xml)...
Ant使用XML来描述项目结构和构建过程,使得构建任务可以在不同的环境中重复执行,无需关心具体的操作系统或开发工具。这个压缩包中包含的`build.xml`文件就是Ant的构建脚本,用于定义构建任务、依赖关系和目标。 1....
- `<condition>`元素可以用于条件判断,只有满足条件时,相关的目标才会被执行。 5. **文件集(Filesets)** - 文件集是一种选择一组文件的方式,它可以应用于许多任务,如编译、复制或删除。 - `<fileset>`元素...
4. **条件(Condition)**:Ant提供了一系列条件判断,如文件是否存在、版本比较等,可以决定是否执行某个任务或目标。 二、Ant的使用步骤 1. **创建build.xml**:根据项目需求,编写XML格式的构建文件,定义目标...
标题中的“分享一个项目的Ant脚本配置”表明我们将探讨的是如何使用Apache Ant工具来构建和管理Java项目。Ant是开源的构建工具,广泛应用于Java项目,它可以自动化编译、打包、测试等开发流程。 在描述中提到的...
5. **文件集(Fileset)**:文件集是Ant处理文件和目录的一种方式,它可以指定一组文件和目录,然后在任务中使用。文件集可以通过各种条件(如通配符、排除规则等)进行过滤。 6. **路径(Path)**:路径元素用于...
《Ant入门加高级查询文档》是一本全面介绍Apache Ant的宝贵资源,涵盖了从基础到高级的各类主题。Ant是Java项目构建系统,它通过XML定义的任务来自动...在Java世界中,熟悉和掌握Ant的使用,对于提升开发效率至关重要。
3. ****: 定义或引用属性,用于存储值并在构建过程中使用。 4. **<condition>**: 判断语句,根据条件执行特定任务。 5. ****: 循环结构,可以遍历列表或集合,对每个元素执行某项操作。 **多渠道打包步骤** 1. **...
规则绑定允许将规则中的元素与外部数据或上下文关联,而规则表达式则提供了计算和逻辑判断的能力,使规则能够根据运行时的状态动态调整行为。 ### 规则条件与动作 规则条件定义了规则触发的先决条件,而规则动作则...
Ant支持条件语句,可以在构建过程中基于某些条件执行不同的任务。 ```xml <condition property="os.name" value="Windows"> </condition> ``` ##### 3. Target的条件判断与逻辑 使用`if`和`unless`属性来控制`...
布尔运算符有`and`、`or`和`not`,用于逻辑判断。例如,`10 > 30`的结果是False。 Python的关键字和保留字,如`if`、`while`、`for`、`as`、`import`、`input`、`print`和`range`,在编程时有特定含义,不能作为...