这是我业余写的一个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:XXXX@192.168.8.4:/home/cvsroot"
password="XXXX" passfile="pass.cvspass"
/>
<cvs cvsRoot=":pserver:XXXX@192.168.8.4:/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>