写道
Ant 常用任务
1 property 任务:
用法:
<property file="${basedir}/comversion.properties" />
在构建文件中引入属性文件中的属性,以后直接用${key} 即可。
2 ant 任务:
用法:
调用buildcomponent.xml 文件同的默认目标。
<ant
antfile="./${xpd.01.path}/buildcomponent.xml">
<property name="fe.path" value="${xpd.01.path}" /> 传递属性给目标
<property name="fe.version" value="${xpd.01.version}" />
</ant>
3 delete 任务:删除文件和路径
用法:
<delete dir="${fe.path}/../pl" /> 删除pl路径
4 foreach 任务:循环功能,包含在ant的扩展包中
声明:
<taskdef name="foreach" classname="net.sf.antcontrib.logic.ForEach" /> 在build文件中引入foreach task。
【注】:因为foreach 任务(task) 不是ant 核心包提供的,所以应该下载foreach的类包,添加到ant 类路径,并在build 文件中声明该任务。上面的taskdef 任务就完成了foreach的声明。
用法:
<foreach target="fe.source" param="fe.source.path" list="${fe.plugin.path}" delimiter=";">
循环调用fe.source目标,循环的变量为fe.source.path,功能为:把list的值用delimiter分割,并把值循环赋值给param。
5 if 任务:程序分支的作用
声明:
<taskdef name="if" classname="net.sf.antcontrib.logic.IfTask" /> 在build文件中引入if task
用法:
<if>
<and> 判断条件1
<equals arg1="${src.exit}" arg2="true" />
<equals arg1="${MANIFEST.exit}" arg2="true" />
</and>
<then> 满足判断条件1执行
<antcall target="jartarget">
<param name="pluginroot" value="${pluginpath}" />
</antcall>
</then>
<elseif> 不满足判断条件1
<not> 判断条件2
<equals arg1="${MANIFEST.exit}" arg2="true" />
</not>
<then> 满足判断条件2
<echo message="No MANIFEST.MF file" />
</then>
</elseif>
<else> 其他情况
<echo message="No Src directory" />
</else>
</if>
6 propertyregex 任务
声明:
<taskdef name="propertyregex" classname="net.sf.antcontrib.property.RegexTask" />
用法:
<propertyregex property="fe.name" input="${pluginsourcepath}" regexp="/.*" replace="" />
完成属性的替换,即:把pluginsourcepath中的以"." 开始的部分,替换成" "。
7 manifest 任务
用法:
<manifest
file="${pluginroot.temp}/META-INF/MANIFEST.MF" mode="update">
<attribute name="Bundle-SymbolicName" value="${pluginid}.source" />
<attribute name="Eclipse-SourceBundle" value='${pluginid};
version="${allversion}";roots:="."' />
<attribute name="Bundle-Version" value="${allversion}" />
<attribute name="Bundle-Name" value="non" />
<attribute name="Bundle-ManifestVersion" value="2" />
</manifest>
8 jar 任务
用法:
<jar
destfile="${release.plugin.path}/${pluginid}.source_${allversion}.jar"
manifest="${pluginroot.temp}/META-INF/MANIFEST.MF">
<fileset dir="${pluginroot}/src" />
<!-- <fileset dir="${pluginroot}/schema" /> -->
<fileset dir="${pluginroot}" includes="schema/**" />
</jar>
9 available 任务
用法:
<available file="${pluginpath}/src/" type="dir" property="src.exit" />
当${pluginpath}/src/ 路径存在时,src.exit 将被赋值为真。
10 replace 任务
用法:
<replace file="${release.feature.path}/feature.xml"
token='"6.2.1.qualifier"'
value='"6.2.1.${plugindateversion}"' />
把文件feature.xml 中包含6.2.1.qualifier 字符串替换为6.2.1.${plugindateversion}。
1 property 任务:
用法:
<property file="${basedir}/comversion.properties" />
在构建文件中引入属性文件中的属性,以后直接用${key} 即可。
2 ant 任务:
用法:
调用buildcomponent.xml 文件同的默认目标。
<ant
antfile="./${xpd.01.path}/buildcomponent.xml">
<property name="fe.path" value="${xpd.01.path}" /> 传递属性给目标
<property name="fe.version" value="${xpd.01.version}" />
</ant>
3 delete 任务:删除文件和路径
用法:
<delete dir="${fe.path}/../pl" /> 删除pl路径
4 foreach 任务:循环功能,包含在ant的扩展包中
声明:
<taskdef name="foreach" classname="net.sf.antcontrib.logic.ForEach" /> 在build文件中引入foreach task。
【注】:因为foreach 任务(task) 不是ant 核心包提供的,所以应该下载foreach的类包,添加到ant 类路径,并在build 文件中声明该任务。上面的taskdef 任务就完成了foreach的声明。
用法:
<foreach target="fe.source" param="fe.source.path" list="${fe.plugin.path}" delimiter=";">
循环调用fe.source目标,循环的变量为fe.source.path,功能为:把list的值用delimiter分割,并把值循环赋值给param。
5 if 任务:程序分支的作用
声明:
<taskdef name="if" classname="net.sf.antcontrib.logic.IfTask" /> 在build文件中引入if task
用法:
<if>
<and> 判断条件1
<equals arg1="${src.exit}" arg2="true" />
<equals arg1="${MANIFEST.exit}" arg2="true" />
</and>
<then> 满足判断条件1执行
<antcall target="jartarget">
<param name="pluginroot" value="${pluginpath}" />
</antcall>
</then>
<elseif> 不满足判断条件1
<not> 判断条件2
<equals arg1="${MANIFEST.exit}" arg2="true" />
</not>
<then> 满足判断条件2
<echo message="No MANIFEST.MF file" />
</then>
</elseif>
<else> 其他情况
<echo message="No Src directory" />
</else>
</if>
6 propertyregex 任务
声明:
<taskdef name="propertyregex" classname="net.sf.antcontrib.property.RegexTask" />
用法:
<propertyregex property="fe.name" input="${pluginsourcepath}" regexp="/.*" replace="" />
完成属性的替换,即:把pluginsourcepath中的以"." 开始的部分,替换成" "。
7 manifest 任务
用法:
<manifest
file="${pluginroot.temp}/META-INF/MANIFEST.MF" mode="update">
<attribute name="Bundle-SymbolicName" value="${pluginid}.source" />
<attribute name="Eclipse-SourceBundle" value='${pluginid};
version="${allversion}";roots:="."' />
<attribute name="Bundle-Version" value="${allversion}" />
<attribute name="Bundle-Name" value="non" />
<attribute name="Bundle-ManifestVersion" value="2" />
</manifest>
8 jar 任务
用法:
<jar
destfile="${release.plugin.path}/${pluginid}.source_${allversion}.jar"
manifest="${pluginroot.temp}/META-INF/MANIFEST.MF">
<fileset dir="${pluginroot}/src" />
<!-- <fileset dir="${pluginroot}/schema" /> -->
<fileset dir="${pluginroot}" includes="schema/**" />
</jar>
9 available 任务
用法:
<available file="${pluginpath}/src/" type="dir" property="src.exit" />
当${pluginpath}/src/ 路径存在时,src.exit 将被赋值为真。
10 replace 任务
用法:
<replace file="${release.feature.path}/feature.xml"
token='"6.2.1.qualifier"'
value='"6.2.1.${plugindateversion}"' />
把文件feature.xml 中包含6.2.1.qualifier 字符串替换为6.2.1.${plugindateversion}。
相关推荐
3. **Ant常用任务** - **javac任务**:用于编译Java源代码,可以设置源和目标兼容性级别,以及处理错误和警告的方式。 - **copy任务**:用于复制文件或目录,可以进行过滤和重命名操作。 - **jar任务**:创建Java...
**四、Ant常用任务** 1. **javac**:用于编译Java源代码。 2. **jar**:打包编译后的类文件为JAR文件。 3. **mkdir**:创建目录。 4. **delete**:删除文件或目录。 5. **copy**:复制文件或目录。 6. **move**:...
## ANT常用标签 1. **`<project>`**:这是Ant构建文件的根元素,用于定义整个构建的基本信息,如项目名称、版本以及默认目标。 2. **`<target>`**:定义一个可执行的任务或一系列任务,每个target都有一个唯一的...
三、Ant常用任务 1. ****:创建目录。 2. ****:删除文件或目录。 3. ****:复制文件或目录。 4. ****:移动文件或目录。 5. ****:更新文件的修改时间。 6. ****:编译Java源代码。 7. ****:创建JAR文件。 8. ***...
三、ANT常用任务 1. **`<javac>`任务**:用于编译Java源代码,支持类路径、源代码版本、排除文件等配置。 2. **`<copy>`任务**:用于复制文件或目录,支持过滤器链来替换文件内容。 3. **`<jar>`任务**:创建JAR...
6. 大量预定义任务:Ant 内置了一系列常用任务,无需额外编写脚本即可使用。 7. 自定义任务接口:允许用户开发自定义任务,以满足特殊需求。 8. 命令行调用:Ant 可以轻松地从命令行界面执行,并与免费或商业 IDE ...
在IT行业中,构建自动化是开发流程中的重要环节,...这种灵活性使得Ant在众多的构建工具中脱颖而出,成为Java项目中的常用选择。对于大型项目或团队来说,理解并掌握Ant的自定义任务机制,无疑能提升开发和维护的效率。
#### 三、Ant常用任务详解 ##### 3.1 文件操作 - **mkdir**: 创建目录。 - 示例:`<mkdir dir="a\b"/>` 创建名为 `a\b` 的目录。 - **delete**: 删除文件或目录。 - 示例:`<delete dir="e:\a\b"/>` 删除目录 `e...
Apache Ant是一种广泛使用的Java构建工具,它通过XML配置文件来定义构建任务,使得开发者能够自动化地编译、打包、测试和部署Java项目。在Ant中,各种任务是通过标签来实现的,这些标签提供了构建过程中的不同功能。...
三.Ant的常用任务 四.利用Ant构建和部署Java工程 1.利用Ant的javac任务来编译java程序 2.使用Ant的java任务运行Java程序 3.使用Ant的jar任务生成jar文件 4.使用Ant的war任务打包J2EE Web项目 五.总结
ANT蚂蚁脚本是一种基于XML的构建工具,广泛用于Java项目的自动化构建、编译、测试和部署等任务。在Java开发中,ANT被视为Makefile的替代品,尤其在Maven流行之前,它是Java项目的首选构建工具。现在,尽管Maven和...
标题“一个常用的ant的build.xml”暗示了我们讨论的是一个标准且常见的Ant构建配置文件。这样的文件通常包含了项目构建的全套指令,包括清理、编译源代码、打包、运行测试以及部署等步骤。 在描述中提到的博客链接...
4. **基本任务使用**:讲解如`javac`(编译Java源码)、`copy`(复制文件)和`jar`(创建JAR文件)等常用任务的使用。 5. **条件与选择**:介绍如何根据条件执行特定任务,如`if`、`unless`标签,以及`<available>`...
例如,`ant.jar`是Ant的核心库,包含了所有Ant任务的实现,而`ant-launcher.jar`则是启动Ant脚本所需的。在实际开发环境中,这些jar包会被添加到系统的类路径中,以便Ant能够正确运行。 为了使用Ant,你需要确保你...
"Ant入门"可能是这个压缩包中的主要教程或者指南,它可能涵盖了Ant的基本概念、安装步骤、XML配置文件的结构、常用任务的使用方法以及如何编写自定义任务等内容。在Ant的学习过程中,了解这些基础知识是非常关键的。...
- 常用任务的详细介绍,如`<project>`, `<target>`, `<property>`, `<mkdir>`, `<copy>`, `<delete>`, `<javac>`, `<junit>`等 - 属性(properties)的使用,以及如何通过命令行传递自定义属性 - 如何处理依赖关系,...
本文将详细阐述Ant的一些常用操作及其核心概念,帮助你更好地理解和运用这个工具。 首先,我们来看一下`build.properties`和`build.xml`这两个文件。在Ant中,`build.properties`文件用于存储项目的配置属性,这些...
通过理解并掌握Ant的基本概念和常用任务,开发者可以自定义构建流程,提高开发效率。无论是小型项目还是大型企业级应用,Ant都能提供有力的支持。通过不断学习和实践,你可以更好地利用Ant来优化你的项目构建。
7. **宏定义(MacroDef)**:宏定义允许创建自定义的任务,可以封装常用的任务组合,提高代码复用性。 8. **依赖性管理**:Ant可以检测文件的修改时间,只重新构建已更改的组件,提高了构建效率。 9. **插件...