您的位置:首页 > 其它

【学习笔记】系列十四:Ant安装与使用举例

2017-02-06 18:33 567 查看
近期在研究持续集成,涉及到Jenkins,GitLab,Ant,Maven等主流工具与技术,会慢慢整理成博文,以作参考

首先是Ant

Ant安装:

官网主页:http://ant.apache.org/

下载地址:http://ant.apache.org/bindownload.cgi

Windows下载解压zip,环境变量添加ANT_HOME,值为解压路径,并在PATH中添加%ANT_HOME%/bin

Linux下载解压tar,环境变量在/etc/profile中添加ANT_HOME,值为解压路径,并添加一行export PATH=$ANT_HOME/bin:$PATH

一切皆在安装jdk并配置环境变量之后,如果没有,走开,我不想跟你说话

配置成功后,Windows CMD下、Linux直接输入ant -version,回车执行,显示Ant版本号即为配置成功

不截图了,so easy

Ant使用:

Ant核心的build.xml文件,提供了各种应用接口,满足现有主流开发环境、测试框架

啥也不说了,直接上Demo,包含了编译、打jar包、打war包等操作,看不懂的也走开吧

<?xml version="1.0" encoding="UTF-8" ?>
<project name="xxxx" default="build" basedir=".">

<!-- 定义属性 -->
<property name="srcDir" location="build/classes" />
<property name="testDir" location="build/test" />
<property name="packDir" location="build/packages" />
<property name="tarDir" location="build/xxxx" />

<property name="package" value="com.xxxx.xxxx.xxxx" />
<property name="mainClass" value="xxxx" />
<property name="jarFile" location="${packDir}/xxxx.jar" />
<property name="testFile" location="${packDir}/testxxxx.jar" />
<property name="tarFile" location="${packDir}/xxxx.tar.gz" />

<!-- 定义路径:编译java文件时使用到的jar包 -->
<path id="run.classpath">
<fileset dir="${basedir}">
<include name="lib/*.jar" />
</fileset>
</path>

<!-- 定义任务:清理独立于bin目录的ant编译目录 -->
<target name="clean">
<delete dir="build/" />
</target>

<!-- 定义任务:重新建立ant编译目录 -->
<target name="init" depends="clean">
<mkdir dir="${srcDir}" />
<mkdir dir="${testDir}" />
<mkdir dir="${packDir}" />
<mkdir dir="${tarDir}" />
</target>

<!-- 定义任务:编译src文件夹下的java文件,编译后的class文件放入ant编译目录 -->
<target name="compile" depends="init">
<!-- 编译src -->
<javac nowarn="true" srcdir="src/" destdir="${srcDir}" includeAntRuntime="false" debug="on" encoding="utf-8">
<classpath refid="run.classpath" />
</javac>

<!-- 编译test -->
<javac nowarn="true" srcdir="test/" destdir="${testDir}" includeAntRuntime="false" debug="on" encoding="utf-8">
<classpath refid="run.classpath" />
</javac>
</target>

<!-- 定义任务:将class集合文件打成jar包 -->
<target name="makejar" depends="compile">
<!-- 打包src -->
<jar destfile="${jarFile}" basedir="${srcDir}">
<!--
<manifest>
<attribute name="Main-Class" value="${package}.${mainClass}" />
</manifest>
-->
</jar>

<!-- 打包test -->
<jar destfile="${testFile}" basedir="${testDir}" />
</target>

<!-- 定义任务:将项目文件打成tar包 -->
<target name="maketar" depends="makejar">
<mkdir dir="${tarDir}/lib" />
<mkdir dir="${tarDir}/conf" />

<copydir dest="${tarDir}/lib" src="${basedir}/lib" />
<copydir dest="${tarDir}/conf" src="${basedir}/conf" />

<copy todir="${tarDir}/lib" file="${jarFile}" />
<copy todir="${tarDir}" file="${basedir}/script/run.sh" />
<copy todir="${tarDir}" file="${basedir}/script/run_as_xdja.sh" />

<tar compression="gzip" destfile="${tarFile}" basedir="${tarDir}" />
</target>

<!-- 只是输出个日志告知Ant正在工作 -->
<target name="build" depends="clean,init,compile,makejar,maketar">
<echo message="Ant is building project" />
</target>
</project>


值得注意的是第二行的default="build",对应脚本中的<target name="build">,如此,可执行包含此target和其之前的所有target任务,如果赋值为前一个target的名称,则此名称为build的target任务不会执行

下次会整理单元测试的ant脚本,包括junit、testNG,并提供报告
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: