這是我業餘寫的一個Ant自動構建腳本.回頭有時間再寫個WebSphere的腳本.
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="F:/back" default="tomcat.start" name="OA">
<property environment="env" />
<property name="target" value="1.5" />
<property name="source" value="1.5" />
<property name="back.dir" value="F:/back" />
<property name="tomcat.home" value="D:/demo/Tomcat 5.5" />
<property name="tomcat.stop.port" value="8009" />
<property name="soucecode.dir" value="F:/back" />
<property name="cvsroot" value=":pserver:jiaobin:@192.168.0.4:/home/cvsroot"/>
<property name="cvs.password" value="2008"/>
<property name="cvs.project" value="testProject"/>
<property name="release.dir" value="${tomcat.home}/webapps/${cvs.project}" />
<property name="src.dir" value="${soucecode.dir}/${cvs.project}" />
<property name="web.dir" value="WebRoot/WEB-INF" />
<property name="webRoot.dir" value="WebRoot" />
<property name="class.outPutDir" value="${web.dir}/classes" />
<path id="CLASSPATH">
<fileset dir="${tomcat.home}/bin">
<include name="*.jar"/>
</fileset>
<fileset dir="${tomcat.home}/common/lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${src.dir}/${web.dir}/lib">
<include name="*.jar"/>
</fileset>
</path>
<condition property="tomcat.socket.exist">
<and>
<socket port="${tomcat.stop.port}" server="127.0.0.1"/>
</and>
</condition>
<!--重新啓動Tomcat-->
<target name="tomcat.start" depends="backup" description="重新啓動Tomcat">
<java jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
<jvmarg value="-Dcatalina.home=${tomcat.home}"/>
</java>
</target>
<!--將release的項目備份到備份目錄中-->
<target name="backup" depends="release_code" description="將release的項目備份到備份目錄中">
<tstamp/>
<echo message="${DSTAMP}"/>
<mkdir dir="${back.dir}/${DSTAMP}/${cvs.project}"/>
<copydir src="${src.dir}"
dest="${back.dir}/${DSTAMP}/${cvs.project}"
includes="**/*.*"/>
</target>
<!--發佈代碼-->
<target name="release_code" depends="compile_code" description="發佈代碼">
<copydir src="${src.dir}/${webRoot.dir}"
dest="${release.dir}"
includes="**/*.*"
/>
</target>
<!--進行編譯過程-->
<target name="compile_code" depends="clean_release_Dir,get_souce_code" description="進行編譯過程">
<echo message="清空要編譯的類目錄"/>
<deltree dir="${src.dir}/${class.outPutDir}"/>
<mkdir dir="${src.dir}/${class.outPutDir}"/>
<echo message="編譯源代碼"/>
<javac destdir="${src.dir}/${class.outPutDir}" source="${source}" target="${target}" debug="true"
deprecation="false" optimize="false" failοnerrοr="true" encoding="GBK">
<src path="${src.dir}/src"/>
<classpath refid="CLASSPATH"/>
<compilerarg value="-Xlint:unchecked"/>
</javac>
</target>
<!--清除發佈目錄-->
<target name="clean_release_Dir" description="清除發佈目錄">
<echo message="清除發佈目錄"/>
<deltree dir="${release.dir}"/>
<mkdir dir="${release.dir}"/>
</target>
<!--從版本庫中得到源碼-->
<target name="get_souce_code" depends="init_src_dir" description="從版本庫中得最新源代碼目錄">
<echo message="得到源碼"/>
<cvspass cvsroot=":pserver:[email protected]:/home/cvsroot"
password="XXXX" passfile="pass.cvspass"
/>
<cvs cvsRoot=":pserver:[email protected]:/home/cvsroot" package="${cvs.project}" dest="${soucecode.dir}" passfile="pass.cvspass" >
</cvs>
</target>
<!--創建源代碼目錄-->
<target name="init_src_dir" depends="tomcat.stop" description="創建源代碼目錄">
<echo message="創建源代碼目錄"/>
<deltree dir="${src.dir}"/>
<mkdir dir="${src.dir}"/>
</target>
<!--停止Tomcat服務-->
<target name="tomcat.stop" description="停止Tomcat服務" if="tomcat.socket.exist">
<echo message="停止Tomcat服務"/>
<java jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
<jvmarg value="-Dcatalina.home=${tomcat.home}"/>
<arg line="stop"/>
</java>
</target>
</project>