读书人

ant 使用过程中惯用配置

发布时间: 2013-10-14 12:54:46 作者: rapoo

ant 使用过程中常用配置

09年的时候写过一个ant的简单安装和最基本的使用其实就是一个hello world 级别的东西。

最近因为项目需要又用了一次ant来打包,所以把项目中用到的东西再整理下。

?

1.定义常量

?

??? 通常是一些路径

<property name="project-src" value="${basedir}/src" />

???

?? 也有可能是系统环境变量里面的路径

<property environment="env"/>      <property name="xx-lib" value="${env.XX_HOME}/lib" />

???

?? 获取时间戳

<tstamp><format property="time" pattern="yyyy-MM-dd hh:mm:ss" /></tstamp>

?

2.定义target

???

?? 基本样子

<target name="jar-all" depends="clean,jar-a,jar-b" description="Builds a.jar, b.jar"></target>

???

?? 一个清理文件或者文件夹的target

<target name="clean" description="Removes all generated artifacts"><delete dir="fouder" /><delete file="a.jar" /><delete file="b.jar" /></target>

? ?

?? 对项目中某些文件package打一个jar包,分为两步,先编译,再打JAR包

<target name="compile-a" depends="clean,init"><mkdir dir="build" /><javac srcdir="${project-src}" destdir="build" debug="true" deprecation="off" encoding="UTF-8"><include name="com/tang/test/a/**/*" /> <classpath> <pathelement path="${xx-lib}/xx.jar" /> <pathelement path="${third-part-lib}/log4j-1.2.15.jar" /> </classpath > </javac></target>

???

??? 编译好后接下来打包

<target name="jar-a" depends="compile-a" description="Builds a.jar"><jar basedir="build" destfile="a.jar"><manifest><attribute name="Created-By" value="locke." /><attribute name="Created-Date" value="${time}" /></manifest></jar><delete dir="build" /></target>

?

3.引用其他的文件的target

<target name="backend"><ant antfile="${basedir}/xx_jar.xml" target="jar-all" /></target>

?

?

4.最后给出一个打完整war包的build.xml

<project name="war Builder" default="war-a" basedir="."><target name="clean"><delete dir="${tempWebRoot}" /></target><target name="init"><property name="webRoot" value="WebRoot" /><property name="webRootLib" value="WebRoot/WEB-INF/lib" /><property name="tempWebRoot" value="tempWebRoot" /><property name="tempWebRootLib" value="tempWebRoot/WEB-INF/lib" /></target><target name="copy" depends="init,clean"><mkdir dir="${tempWebRoot}" /><mkdir dir="${tempWebRootLib}" /><copy todir="${tempWebRoot}"><fileset dir="${webRoot}"><exclude name="**/*.war" /><exclude name="WEB-INF/classes/**/*" /><exclude name="**/log4j-1.2.15.jar" /></fileset></copy><copy todir="${tempWebRootLib}" file="${basedir}/console.jar"></copy></target><target name="war-a" depends="copy" description="package war"><war warfile="${basedir}/a.war" webxml="${tempWebRoot}/WEB-INF/web.xml"><!--<lib dir="${tempWebRoot}/WEB-INF/lib" /><classes dir="${tempWebRoot}" />--><fileset dir="${tempWebRoot}" /></war><delete dir="${tempWebRoot}" /></target></project>

?

?

?

??

?

?

?

?

?

读书人网 >开源软件

热点推荐