<?xml version="1.0" encoding="GB2312" ?>
<project name="projectname" default="war" basedir=".">
<!--
===================================================================
定义属性(property tasks)
最好把用到的路径呀,名称呀都在这里定义成全局变量
例:定义
<property name="a" value="hello"/>
以后就可以这样用它:
<property name="b" value="${a}/b"/>
现在:b=="hello/b"
-->
<!--主要的系统环境属性-->
<property environment="env" /><!--取window,unix...的环境变量-->
<property name="java.home" value="${env.JAVA_HOME}" />
<!--主要的app环境属性-->
<property name="app.name" value="yourappname" />
<property name="app.jar" value="${app.name}.jar" />
<property name="app.war" value="${app.name}.war" />
<property name="app.copyright"
value=" Copyright (c) 2010 GLOBAL-SAFETY Software Foundation. All rights reserved." />
<!--app中src的属性-->
<property name="src.dir" value="src" />
<property name="classSavePath" value="web/WEB-INF/classes" />
<!--app用到的lib-->
<property name="lib.dir" value="web/WEB-INF/lib" />
<!--app的build目录中-->
<property name="build.dir" value="./output" />
<property name="build.classes" value="${build.dir}/classes" />
<property name="build.lib" value="web/WEB-INF/lib" />
<property name="war.dir" value="${build.dir}/war" />
<property name="warsource.dir" value="web" />
定义一组路径以后可以通过id重用这组路径 ,例:
<javac srcdir="src/main" destdir="build/classes">
<classpath refid="classpath"/>
</javac>
<path id="classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
<include name="*.zip" />
</fileset>
<fileset dir="${java.home}/lib">
</path>
init 准备目录(File Tasks)
主要的目录结构通常是不会变的,一起生成他们
<target name="init">
<echo message="环境信息:" />
<echo message="JAVA_HOME:${java.home}" />
<!--清除以前目录-->
<delete dir="${build.dir}" failonerror="false" />
<delete dir="${classSavePath}" failonerror="false" />
<!--准备目录-->
<mkdir dir="${build.dir}" />
<mkdir dir="${classSavePath}" />
</target>
Build the code (Compile Tasks,File Tasks)
<target name="build" depends="init">
<!--编译-->
<javac srcdir="${src.dir}" destdir="${classSavePath}"
encoding="UTF-8" fork="true" memoryMaximumSize="1024m">
<classpath refid="classpath" />
<copy todir="${classSavePath}" includeemptydirs="false">
<fileset dir="${src.dir}">
<include name="**/*.properties" />
<include name="**/*.xml" />
<include name="**/*.xsl" />
</copy>
打war包
<target name="war" depends="build" description="生成war包">
<echo message="正在打war包,请稍候..." />
<war destfile="${build.dir}/${app.war}" encoding="gb2312"
webxml="${warsource.dir}/WEB-INF/web.xml">
<fileset dir="${warsource.dir}">
<exclude name="build.xml" />
<exclude name="**/web.xml" />
</war>
<echo message="打war包结束" />
快速(依靠原工程编译文件)打war包
<target name="quick-war" depends="" description="生成war包">
<echo message="非重新build打war包(请保证您的工程$/web/WEB-INF/classes已有下编译类),请稍候..." />
</project>