今天在做一個小系統,用tomcat發佈是在不方便,所以找了個build文件的模板:
build.xml
<?xml version="1.0" encoding="gb2312"?>
<project name="MyProject" default="dist" basedir=".">
<!--//將name的值改爲對應工程的名字
//將default的值改爲需要的缺省任務(運行"ant"不指明任務時執行的任務)
-->
<!--File and Directory Names 文件和目錄設置
app.name 發佈到tomcat的應用的名字
app.version 應用的版本標識
build.home 編譯目標位置,默認爲"build"
catalina.home tomcat根目錄位置
deploy.home 部署位置,默認爲"${catalina.home}/webapps/${app.name}"
dist.home war包位置,默認爲"dist"
-->
<property name="app.name" value="myapp"/>
<!--//將value的值改爲發佈到tomcat的應用的名字
//例如:<property name="app.name" value="mytry"/>
-->
<property name="app.version" value="1.0"/>
<property name="build.home" value="build"/>
<property name="catalina.home" value="D:Tomcat5.0"/>
<!--//將value的值改爲你安裝tomcat的路徑
//例如:<property name="catalina.home" value="G:jakarta-tomcat-4.0.1"/>
-->
<property name="deploy.home" value="${catalina.home}/webapps/${app.name}"/>
<property name="dist.home" value="dist"/>
<!--Compilation Control Options 編譯控制選項
compile.debug 是否包含debug信息
compile.deprecation
compile.optimize 是否優化編譯
-->
<property name="compile.debug" value="true"/>
<property name="compile.deprecation" value="false"/>
<property name="compile.optimize" value="true"/>
<!-- Compilation Classpath 路徑設置-->
<path id="compile.classpath">
<pathelement location="${catalina.home}/common/classes"/>
<fileset dir="${catalina.home}/common/lib">
<include name="*.jar"/>
</fileset>
</path>
<!--Clean Target 刪除先前的目錄結構-->
<target name="clean"
description="Delete old build and dist directories">
<delete dir="${build.home}"/>
<delete dir="${dist.home}"/>
</target>
<!--Compile Target 編譯代碼,在這之前先由prepare建立目錄結構-->
<target name="compile" depends="prepare"
description="Compile Java sources">
<!-- Compile Java classes as necessary -->
<mkdir dir="${build.home}/WEB-INF/classes"/>
<javac srcdir="src"
destdir="${build.home}/WEB-INF/classes"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
optimize="${compile.optimize}">
<classpath refid="compile.classpath"/>
</javac>
<copy todir="${build.home}/library/classes">
<fileset dir="src" includes="**/*.properties"/>
</copy>
</target>
<!--Deploy Target 在tomcat下建立應用目錄並部署應用-->
<target name="deploy" depends="compile"
description="Deploy application to servlet container">
<!-- Copy the contents of the build directory -->
<mkdir dir="${deploy.home}"/>
<copy todir="${deploy.home}">
<fileset dir="${build.home}"/>
</copy>
<mkdir dir="${deploy.home}/WEB-INF/lib"/>
</target>
<!--Dist Target 將應用打包成war,在這之前先執行javadoc和deploy-->
<target name="dist" depends="deploy,javadoc"
description="Create binary distribution">
<copy todir="${dist.home}/docs">
<fileset dir="docs"/>
</copy>
<jar jarfile="${dist.home}/${app.name}.war"
basedir="${deploy.home}"/>
</target>
<!--Javadoc Target 生成javadoc-->
<target name="javadoc" depends="compile"
description="Create Javadoc API documentation">
<mkdir dir="${dist.home}/docs/api"/>
<javadoc sourcepath="src"
destdir="${dist.home}/docs/api"
packagenames="hello.*"/>
<!--//改爲需要製作javadoc的包名。如果不做javadoc,這裏不必改。例如:packagenames="hello.*"/>-->
</target>
<!--Prepare Target 建立打包的目的目錄結構-->
<target name="prepare">
<mkdir dir="${build.home}"/>
<copy todir="${build.home}">
<fileset dir="web"/>
</copy>
</target>
</project>
<project name="MyProject" default="dist" basedir=".">
<!--//將name的值改爲對應工程的名字
//將default的值改爲需要的缺省任務(運行"ant"不指明任務時執行的任務)
-->
<!--File and Directory Names 文件和目錄設置
app.name 發佈到tomcat的應用的名字
app.version 應用的版本標識
build.home 編譯目標位置,默認爲"build"
catalina.home tomcat根目錄位置
deploy.home 部署位置,默認爲"${catalina.home}/webapps/${app.name}"
dist.home war包位置,默認爲"dist"
-->
<property name="app.name" value="myapp"/>
<!--//將value的值改爲發佈到tomcat的應用的名字
//例如:<property name="app.name" value="mytry"/>
-->
<property name="app.version" value="1.0"/>
<property name="build.home" value="build"/>
<property name="catalina.home" value="D:Tomcat5.0"/>
<!--//將value的值改爲你安裝tomcat的路徑
//例如:<property name="catalina.home" value="G:jakarta-tomcat-4.0.1"/>
-->
<property name="deploy.home" value="${catalina.home}/webapps/${app.name}"/>
<property name="dist.home" value="dist"/>
<!--Compilation Control Options 編譯控制選項
compile.debug 是否包含debug信息
compile.deprecation
compile.optimize 是否優化編譯
-->
<property name="compile.debug" value="true"/>
<property name="compile.deprecation" value="false"/>
<property name="compile.optimize" value="true"/>
<!-- Compilation Classpath 路徑設置-->
<path id="compile.classpath">
<pathelement location="${catalina.home}/common/classes"/>
<fileset dir="${catalina.home}/common/lib">
<include name="*.jar"/>
</fileset>
</path>
<!--Clean Target 刪除先前的目錄結構-->
<target name="clean"
description="Delete old build and dist directories">
<delete dir="${build.home}"/>
<delete dir="${dist.home}"/>
</target>
<!--Compile Target 編譯代碼,在這之前先由prepare建立目錄結構-->
<target name="compile" depends="prepare"
description="Compile Java sources">
<!-- Compile Java classes as necessary -->
<mkdir dir="${build.home}/WEB-INF/classes"/>
<javac srcdir="src"
destdir="${build.home}/WEB-INF/classes"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
optimize="${compile.optimize}">
<classpath refid="compile.classpath"/>
</javac>
<copy todir="${build.home}/library/classes">
<fileset dir="src" includes="**/*.properties"/>
</copy>
</target>
<!--Deploy Target 在tomcat下建立應用目錄並部署應用-->
<target name="deploy" depends="compile"
description="Deploy application to servlet container">
<!-- Copy the contents of the build directory -->
<mkdir dir="${deploy.home}"/>
<copy todir="${deploy.home}">
<fileset dir="${build.home}"/>
</copy>
<mkdir dir="${deploy.home}/WEB-INF/lib"/>
</target>
<!--Dist Target 將應用打包成war,在這之前先執行javadoc和deploy-->
<target name="dist" depends="deploy,javadoc"
description="Create binary distribution">
<copy todir="${dist.home}/docs">
<fileset dir="docs"/>
</copy>
<jar jarfile="${dist.home}/${app.name}.war"
basedir="${deploy.home}"/>
</target>
<!--Javadoc Target 生成javadoc-->
<target name="javadoc" depends="compile"
description="Create Javadoc API documentation">
<mkdir dir="${dist.home}/docs/api"/>
<javadoc sourcepath="src"
destdir="${dist.home}/docs/api"
packagenames="hello.*"/>
<!--//改爲需要製作javadoc的包名。如果不做javadoc,這裏不必改。例如:packagenames="hello.*"/>-->
</target>
<!--Prepare Target 建立打包的目的目錄結構-->
<target name="prepare">
<mkdir dir="${build.home}"/>
<copy todir="${build.home}">
<fileset dir="web"/>
</copy>
</target>
</project>