CruiseControl于ant实现自动化中提到ant的build.xml配置文件,
<?xml version="1.0" encoding="UTF-8"?>
<project name="rsfwpt" default="all" basedir=".">
<property name="project.name" value="rsfwpt"/>
<property name="src.dir" value="src"/>
<property name="WebContent.dir" value="WebContent"/>
<property name="lib.dir" value="${WebContent.dir}/WEB-INF/lib"/>
<property name="classes.dir" value="${WebContent.dir}/WEB-INF/classes"/>
<property name="release.dir" value="release"/>
<property name="jdk.version" value="1.5"/>
<property name="tomcat.port" value="8080"/>
<property environment="env" />
<property name="tomcat.home" value="${env.CATALINA_HOME}" />
<!-- 需要配置环境变量 VSS_HOME指向VSS的目录,根据系统环境变量,找到VSS中ss.exe-->
<property name="vss.ssdir" value="${env.VSS_HOME}"/>
<!--源码路径-->
<property name="vss.codepath" value="/2.代码/2.门户(最新)/RSFWPT"/>
<!--srsrcsafe.ini文件路径-->
<property name="vss.svrdir" value="\\192.168.1.11\vssrepository\人事公共服务平台"/>
<!--get代码到本地路径-->
<property name="vss.workfold" value="."/>
<property name="vss.user" value="user"/>
<property name="vss.password" value="pwd"/>
<path id="classpath">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
</path>
<target name="clean-classes">
<delete>
<fileset dir="${classes.dir}">
<include name="**/*.class"/>
</fileset>
</delete>
</target>
<target name="prepare" depends="clean-classes">
<mkdir dir="${classes.dir}"/>
</target>
<target name="all" depends="quickstart"/>
<target name="compiler" depends="prepare">
<javac destdir="${classes.dir}" target="${jdk.version}" srcdir="${src.dir}" debug="true" optimize="false" failonerror="true" encoding="GBK">
<compilerarg value="-Xlint:unchecked"/>
<sourcepath path="${src.dir}" />
<classpath refid="classpath" />
</javac>
<native2ascii src="${src.dir}" dest="${classes.dir}/classes" includes="*.properties" encoding="GBK" />
<!-- copy properties and xmls to /WEB-INF/classe -->
<copy todir="${classes.dir}">
<fileset dir="${src.dir}">
<include name="**/*.xml"/>
<include name="**/*.properties"/>
</fileset>
</copy>
</target>
<target name="war" depends="compiler" description="Create War for app and copy to ${tomcat_home}/webapps">
<delete dir="${release.dir}"/>
<mkdir dir="${release.dir}"/>
<war destfile="${release.dir}/${project.name}.war" webxml="${WebContent.dir}/WEB-INF/web.xml" basedir="${WebContent.dir}" excludes="**/web.xml"/>
<copy todir="${tomcat.home}/webapps" file="${release.dir}/${project.name}.war"/>
</target>
<target name="tomcat.start" depends="tomcat.stop,getVssCode,war" description="start tomcat">
<java classname="org.apache.catalina.startup.Bootstrap" fork="true">
<jvmarg value="-Djava.endorsed.dirs=${tomcat.home}/common/endorsed"/>
<jvmarg value="-Dcatalina.base=${tomcat.home}"/>
<jvmarg value="-Dcatalina.home=${tomcat.home}"/>
<jvmarg value="-Djava.io.tmpdir=${tomcat.home}/temp"/>
<arg value="start"/>
<classpath>
<pathelement location="${tomcat.home}/bin/bootstrap.jar"/>
</classpath>
</java>
</target>
<target name="tomcat.stop">
<java classname="org.apache.catalina.startup.Bootstrap" spawn="yes" fork="true">
<jvmarg value="-Djava.endorsed.dirs=${tomcat.home}/common/endorsed"/>
<jvmarg value="-Dcatalina.base=${tomcat.home}"/>
<jvmarg value="-Dcatalina.home=${tomcat.home}"/>
<jvmarg value="-Djava.io.tmpdir=${tomcat.home}/temp"/>
<arg value="stop"/>
<classpath>
<pathelement location="${catalina.dir}/bin/bootstrap.jar"/>
</classpath>
</java>
</target>
<target name="getVssCode">
<vssget vsspath="${vss.codepath}" localpath="${vss.workfold}" login="${vss.user},${vss.password}" ssdir="${vss.ssdir}" serverPath="${vss.svrdir}" autoresponse="N" recursive="true" quiet="true" />
</target>
<target name="quickstart">
<parallel>
<antcall target="tomcat.start"/>
</parallel>
</target>
</project>



附上我的build.xml配置文件

咚哒哒
