博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ant学习笔记
阅读量:5163 次
发布时间:2019-06-13

本文共 3320 字,大约阅读时间需要 11 分钟。

    前言:这段时间在学习Ant,发现这是一个很强大的构建工具。你可能使用了很长一段时间,才发现Ant能做数不完的事。总之,个人觉得,Ant学习门槛低,入门简单,能大概看懂程序,写一些简单的脚本即可,剩下在遇到的时候边做边学就可以了。另外,博主资历尚浅,有说的不对的地方,还请大家不吝指教。

    

1、Ant是一个Apache基金会下的跨平台的构建工具,它可以实现项目的自动构建和部署等功能。它具有跨平台、使用简单、语法清晰、功能强大等特点
 
2、下载和安装: ,添加环境变量ANT_HOME,指向根目录D:\hybirs630\hybris\bin\platform\apache-ant-1.9.1、安装完成后,进入控制台界面,输入 ant -version检查是否安装成功。
 
3、Ant的构建文件是通过XML编写的,默认名称是build.xml.
备注:(在文件的存在目录执行ant sayHelloWorld, ant 默认寻找文件build.xml,若文件不为build.xml,则执行ant –f hello.xml sayHelloWorld、ant –buildfile hello.xml sayHelloWorld或ant –file hello.xml sayHelloWorld)
 
4、Ant的关键元素project、target、property、task
   
   1、project元素(至少包含一个,可以包含多个target)、 name属性、 default属性(用于指定project默认执行时所执行的target的名称)、basedir属性(用于指定路径的位置。没有指定,使用Ant的构件文件的附目录作为基准目录)
 
2、ant -projecthelp(列出当前ant可执行的所有命令)
3、target元素(是Ant的基本执行单元,它可以包含一个或多个具体的任务,多个target可以存在相互依赖关系)、name属性(指定名称)、depends属性(描述target之间的依赖关系,以,间隔,顺序执行,被依赖的target优先执行)、if/unless属性(验证属性是否存在,若存在,则执行/不执行)、description属性(target功能的简短描述与说明)
a depend example!
4、property元素(参量或者参数的定义),若要在外部引入某文件,例如build.properties文件,可以通过如下内容将其引入:<property file=” build.properties”/>
同时,Ant还提供了一些它自己的内置属性,如下:
basedir:project基目录的绝对路径.
ant.file:buildfile的绝对路径,如上面的各例子中,ant.file的值为E:"build.xml;
ant.version:Ant的版本,在本文中,值为1.7.0;
ant.project.name:当前指定的project的名字,即前文说到的project的name属性的值;
ant.java.version:Ant检测到的JDK的版本。
 
备注:ant中若引用property或者它的内置属性,用${}括号起来引用。
5、Ant的任务介绍
 
1、输出信息
yyyy
 
2、copy任务
该任务主要用来对文件和目录的复制功能。举例如下:
 
Eg1.复制单个文件:<copy file="file.txt" tofile="copy.txt"/>
Eg2.对文件目录进行复制:
 
   <copy todir="../newdir/dest_dir"> 
            <fileset dir="src_dir"/>
  </copy>
Eg3. 将文件复制到另外的目录: 
  <copy file="file.txt" todir="../other/dir"/>
  <copyfile src="test.java" dest="subdir/test.java">
dest:代表目标目录
 
Eg4.拷贝一堆文件到一个目录
<copy todir="../dest/dir">
    <fileset dir="src_dir">
       <exclude name="**/*.java">
   </fileset>
</copy>
 
Eg5.拷贝一个目录下的东西到另一个目录下(includes加入,excludes排除,即排除这些之外的东西都要加入)
<copy src="${src}/resources" dest="${dist}" includes="**/*.java" excludes="**/Test.java"/>
 
3、delete任务
 
对文件或目录进行删除,举例如下:
Eg1. 删除某个文件:
<delete file="photo/amigo.jpg"/>
Eg2. 删除某个目录:
<delete dir="photo"/> 
Eg3. 删除所有的备份目录或空目录:(也可以使用include和exclude)
 
        <delete includeEmptyDirs="true">
               <fileset dir="." includes="**/*.bak"/>
        </delete>
 
4、mkdir任务
      
      创建目录。eg:
<mkdir dir="build"/>
 
5、move任务 
 
移动文件或目录,举例如下:
 
Eg1. 移动单个文件:
<move file="fromfile" tofile=”tofile”/>
Eg2. 移动单个文件到另一个目录:
<move file="fromfile" todir=”movedir”/>
Eg3. 移动某个目录到另一个目录:
        <move todir="newdir">
               <fileset dir="olddir"/>
        </move>
 
6、重命名任务
<rename src="foo.jar" dest="ant-${version}.jar"/>  
 
7、Touch的使用
如果文件不存在,创建文件,如果存在,更改最后访问时间为系统时间
<touch file="myfile"/>
 
8、打Jar包
<target name="build" depends="compile">
    <jar destfile="${hello_jar}" basedir="${dest}"/>
</target>
 
9、压缩zip文件
<zip destfmlile="${dist}/manual.zip"
       basedir="htdocs/manual"
       includes="api/**/*.html"
       excludes="**/todo.html"/>
 
6、利用Ant构建和部署Java工程
 
       参考我的另一篇博客:

 

7、

转载于:https://www.cnblogs.com/jmcui/p/6957404.html

你可能感兴趣的文章
iOS Undefined symbols for architecture xxx问题的总结
查看>>
bzoj 3685: 普通van Emde Boas树
查看>>
关于线程池,那些你还不知道的事
查看>>
二分类问题F-score评判指标(转载)
查看>>
JAVA基础之字符串和面向对象
查看>>
大数据R语言简析
查看>>
Ant自己主动编译打包&amp;公布 android项目
查看>>
vc6编译stlport及常见问题
查看>>
week_one-python格式化输出
查看>>
Webservice 从客户端中检测到有潜在危险的 request.form值[解决方法]
查看>>
LNMP详细介绍
查看>>
素数判定算法
查看>>
那些文章
查看>>
AR增强现实席卷而来
查看>>
word记录
查看>>
Hibernate中ManyToMany的第三张表添加其他字段
查看>>
从壹开始前后端分离【 .NETCore2.1 +Vue 2 +AOP+DI】框架之一 || 前言
查看>>
Spring @Resource、@Autowired、@Qualifier的注解注入及区别
查看>>
spring4.0之八:Groovy DSL
查看>>
小程序textarea完美填坑
查看>>