`
aerchi
  • 浏览: 425986 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
文章分类
社区版块
存档分类
最新评论

Ant 常用任务

 
阅读更多

1 property 任务:

用法:

<propertyfile="./xxx/comversion.properties"/>

可以在构建文件中引入属性文件中的value属性,使用${key} 来引用。

2 ant任务:

用法:

<antantfile="./xxx/buildcomponent.xml">

调用buildcomponent.xml 文件同的默认目标。

<propertyname="path"value="pathvalue"/> 传递属性给目标

<propertyname="version"value="versionvalue"/>

</ant>

3delete 任务:删除文件和路径

用法:

<deletedir="../pl"/> 删除pl路径

4foreach 任务:循环功能,包含在ant的扩展包中

声明:

<taskdefname="foreach"classname="net.sf.antcontrib.logic.ForEach"/>

在build文件中引入foreach task。

【注】:因为foreach 任务(task) 不是ant 核心包提供的,所以应该下载foreach的类包,添加到ant 类路径,并在build 文件中声明该任务。上面的taskdef 任务就完成了foreach

的声明。

用法:

<foreachtarget="source"param="fe.source.path"

list="${plugin.path}"delimiter=";">

循环调用source目标,循环的变量为source.path,功能为:把list的值用delimiter分割,并把值循环赋值给param。

5 if 任务:程序分支的作用

声明:

<taskdefname="if"classname="net.sf.antcontrib.logic.IfTask"/>

在build文件中引入if task。

用法:

<if>

<and> 判断条件1

<equalsarg1="${src.exit}"arg2="true"/>

<equalsarg1="${MANIFEST.exit}"arg2="true"/>

</and>

<then> 满足判断条件1执行

<antcalltarget="jartarget">

<paramname="pluginroot"value="${pluginpath}"/>

</antcall>

</then>

<elseif>不满足判断条件1

<not> 判断条件2

<equalsarg1="${MANIFEST.exit}"arg2="true"/>

</not>

<then> 满足判断条件2

<echomessage="No MANIFEST.MF file"/>

</then>

</elseif>

<else> 其他情况

<echomessage="No Src directory"/>

</else>

</if>

6propertyregex 任务

声明:

<taskdefname="propertyregex"

classname="net.sf.antcontrib.property.RegexTask"/>

用法:

<propertyregexproperty="fe.name"input="${pluginsourcepath}"

regexp="/.*"replace=""/>

完成属性的替换,即:把pluginsourcepath中的以"." 开始的部分,替换成" "。如

7manifest 任务

用法:

<manifestfile="${pluginroot.temp}/META-INF/MANIFEST.MF"mode="update">

<attributename="Bundle-SymbolicName"

value="${pluginid}.source"/>

<attributename="Eclipse-SourceBundle"

value='${pluginid};version="${allversion}";roots:="."'/>

<attributename="Bundle-Version"value="${allversion}"/>

<attributename="Bundle-Name"value="non"/>

<attributename="Bundle-ManifestVersion"value="2"/>

</manifest>

8jar 任务

用法:

<jardestfile="${release.plugin.path}/${pluginid}.source_${allversion}.jar"

manifest="${pluginroot.temp}/META-INF/MANIFEST.MF">

<filesetdir="${pluginroot}/src"/>

<!-- <fileset dir="${pluginroot}/schema" /> -->

<filesetdir="${pluginroot}"includes="schema/**"/>

</jar>

9available 任务

用法:

<availablefile="${pluginpath}/src/"type="dir"property="src.exit"/>

${pluginpath}/src/ 路径存在时,src.exit 将被赋值为真。

10replace任务

用法:

<replacefile="${release.feature.path}/feature.xml"token='"1.0.0.qualifier"'

value='"1.0.0.${plugindateversion}"'/>

把文件feature.xml 中包含1.0.0.qualifier 字符串替换为1.0.0.${plugindateversion}。

  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <projectdefault="myJar"basedir=".">
  3. <propertyname="destdir"value="destdir"/>
  4. <propertyname="jardestdir"value="jardestdir"/>
  5. <propertyname="jardestdir2"value="jardestdir2"/>
  6. <targetname="createdir">
  7. <mkdirdir="${destdir}"/>
  8. <mkdirdir="${jardestdir2}"/>
  9. </target>
  10. <targetname="myComplie"depends="createdir">
  11. <javacsrcdir="src"destdir="${destdir}"/>
  12. </target>
  13. <targetname="myJar"depends="myComplie">
  14. <jarbasedir="${destdir}"destfile="${jardestdir}/package.jar"/>
  15. </target>
  16. <targetname="moveFile"depends="myJar">
  17. <copyfile="${jardestdir}/package.jar"todir="${jardestdir2}"/>
  18. </target>
  19. <taskdefname="renameFile"classname="db.pojo.AntTest"classpath="WebRoot\WEB-INF\classes"></taskdef>
  20. <targetname="rename">
  21. <renameFilefile="c:\test"includeFileName="hello"/>
  22. <!--c:\test目录中的文件名含有hello的文件去掉-->
  23. </target>
  24. </project>
4.1File(Directory)类
4.1.1Mkdir
?创建一个目录,如果他的父目录不存在,也会被同时创建。
?例子:
<mkdirdir="build/classes"/>
?说明:如果build不存在,也会被同时创建
4.1.2Copy
?拷贝一个(组)文件、目录
?例子:
1.拷贝单个的文件:
<copyfile="myfile.txt"tofile="mycopy.txt"/>
2.拷贝单个的文件到指定目录下
<copyfile="myfile.txt"todir="../some/other/dir"/>
3.拷贝一个目录到另外一个目录下
<copytodir="../new/dir">
<filesetdir="src_dir"/>
</copy>
4.拷贝一批文件到指定目录下
<copytodir="../dest/dir">
<filesetdir="src_dir">
<excludename="**/*.Java"/>
</fileset>
</copy>

<copytodir="../dest/dir">
<filesetdir="src_dir"excludes="**/*.java"/>
</copy>
5.拷贝一批文件到指定目录下,将文件名后增加。Bak后缀
<copytodir="../backup/dir">
<filesetdir="src_dir"/>
<mappertype="glob"from="*"to="*.bak"/>
</copy>
6.拷贝一组文件到指定目录下,替换其中的@标签@内容
<copytodir="../backup/dir">
<filesetdir="src_dir"/>
<filterset>
<filtertoken="TITLE"value="FooBar"/>
</filterset>
</copy>
4.1.3Delete
?删除一个(组)文件或者目录
?例子
1.删除一个文件
<deletefile="/lib/ant.jar"/>
2.删除指定目录及其子目录
<deletedir="lib"/>
3.删除指定的一组文件
<delete>
<filesetdir="."includes="**/*.bak"/>
</delete>
4.删除指定目录及其子目录,包括他自己
<deleteincludeEmptyDirs="true">
<filesetdir="build"/>
</delete>
4.1.4Move
?移动或重命名一个(组)文件、目录
?例子:
1.移动或重命名一个文件
<movefile="file.orig"tofile="file.moved"/>
2.移动或重命名一个文件到另一个文件夹下面
<movefile="file.orig"todir="dir/to/move/to"/>
3.将一个目录移到另外一个目录下
<movetodir="new/dir/to/move/to">
<filesetdir="src/dir"/>
</move>
4.将一组文件移动到另外的目录下
<movetodir="some/new/dir">
<filesetdir="my/src/dir">
<includename="**/*.jar"/>
<excludename="**/ant.jar"/>
</fileset>
</move>
5.移动文件过程中增加。Bak后缀
<movetodir="my/src/dir">
<filesetdir="my/src/dir">
<excludename="**/*.bak"/>
</fileset>
<mappertype="glob"from="*"to="*.bak"/>
</move>


参考: http://blog.csdn.net/lihe2008125/article/details/4488632http://www.mscto.com/JavaBase/2009022459996.html

分享到:
评论

相关推荐

    JAVA_Ant详细介绍与应用

    三.Ant的常用任务 四.利用Ant构建和部署Java工程 1.利用Ant的javac任务来编译java程序 2.使用Ant的java任务运行Java程序 3.使用Ant的jar任务生成jar文件 4.使用Ant的war任务打包J2EE Web项目 五.总结

    apache-ant-1.9.3-src.tar

    虽然ANT可调用的外部应用种类非常丰富,但其实最常用的就2,3个:比如javac javadoc jar等。 Ant的优点 Ant是Apache软件基金会JAKARTA目录中的一个子项目,它有以下的优点。 跨平台性。Ant是纯Java语言编写的,所...

    ant1.9资源

    在本小节中,主要引导读者来看下Ant的常用任务及其使用举例。 1. copy任务 该任务主要用来对文件和目录的复制功能。举例如下: Eg1.复制单个文件: Eg2.对文件目录进行复制: Eg3. 将文件复制到另外的...

    Ant下常用的Web项目构建脚本

    通常利用Ant工具来对程序源代码进行编译(当然也可以利用IDE工具编译),通常build.xml文件执行默认“compile”任务来完成编译过程。

    ant_junitc测试

    有的,ant就是一款能完成此任务的优秀的“轻量级”工具。说它轻量级,是因为它是一款命令行工具,小巧,不像eclipse等IDE那样庞大。在mybatis的学习过程中,笔者就将使用ant来管理自己的工程。因此,就先用两篇博文...

    Ant学习教程

    Ant,用于对Java项目进行构建。Ant简介,常用任务,整合Junit,生成doc和zip文件。

    Apache Ant自动化脚本入门教程及常用命令介绍

    Ant是由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(构建文件)。 Ant通过调用target树,就可以执行各种任务。由于Ant构建文件 是XML格式的文件,所以很容易维护和书写,而且结构清晰。可以很方便的集成...

    基于 springboot、ant-design-vue 的开源框架+源代码+文档说明

    以Spring Framework为核心容器,Spring data Jpa(Hibernate实现)为数据访问层, Apache Shiro为权限框架,Redis对常用数据进行缓存,前端使用Vue全家桶,前后端分离、JWT鉴权的开源框架。 角色的功能权限控制方式为...

    Eclipse+Web开发从入门到精通(实例版)

    4.1.2 Ant 的常用任务(Task)... 62 4.2 Eclipse 与Ant 的集成... 64 4.2.1 创建Ant 构建文件... 64 4.2.2 编辑Ant 构建文件... 64 4.2.3 运行Ant 构建文件... 66 4.2.4 使用Ant 视图... 66 4.3...

    版本管理及项目构建和maven的介绍使用

    1.svn版本管理。 2.项目构建的方式,主要介绍Ant和maven,...包含Ant的简介及常用任务,maven的简介、环境配置、maven项目开发,maven依赖、maven仓库等概念以及maven生命周期和maven插件、聚合和继承等。 3.推荐的书籍

    jenkins.msi

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的...常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle

    jenkins-2.176.2.zip

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务...常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。

    jenkins-2.258-1.1.noarch.zip

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务...常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。

    jenkins.zip

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务...常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。

    jenkins_.zip

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务...常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle.

    jenkins-2.222.4.zip

    (windows版) Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、...常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。

    Jenkins+Configurations+and+Build+and+Publish.doc

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson...常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。 是一个 Coucourse 的同类型替代软件, 有 Mac,Windows,Linux 版本。

    jenkins_2.222.4_all.deb

    (ubuntu/Debian版) Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件...常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。

    Java_EE企业应用实战SSH(第三版)-part3

    1.5.4Ant的任务(task) 1.6使用CVS进行协作开发 1.6.1安装CVS服务器 1.6.2配置CVS资源库 1.6.3安装CVS客户端 1.6.4发布项目到服务器 1.6.5从服务器下载项目 1.6.6同步(Update)本地文件 1.6.7提交(Commit...

Global site tag (gtag.js) - Google Analytics