ANT Package Script For Depend On Tomcat Developing

工程结构:

ANT Package Script For Depend On Tomcat Developing

 

 

1.build.xml

 

  

<?xml version="1.0" encoding="GBK"?>
<!--
     本脚步可以使用方法说明 by Jay Chang
    (注意:请将该脚本放到工程根目录与WebRoot和src同一级别)
     需要修改的地方有:
     1.工程名
     2.tomcat.path
     3.project.jar.name(指定打成jar包的名字,默认可以与工程名一致)
     4.根据具体的jdk版本进行修改,比如要用jdk6的那么改成1.6
    
     启动脚本:点击鼠标右键-> run as -> ant build
     
     执行完脚本则启动tomcat,如果已经启动那么是重启tomcat,并把工程打成war包,
     放到tomcat的webapps目录下,由tomcat自动解压war包。
     这样编译,打包,部署,重启可以一次性完成。
-->
<!--==============================================================================-->
<!--===========================ANT打包脚本==========================================-->
<!--==============================================================================-->
<project name="spring_ibatis_web" default="clean" basedir=".">
	
	<!--==========================================================================-->
	<!--==============================属性配置文件==================================-->
	<!--==========================================================================-->
	<property file="build.properties"/>
	<property file="${basedir}/version.properties"/>
	
    <!--==========================================================================-->
    <!--============================变量定义=======================================-->
    <!--==========================================================================-->
    <!-- 工程名 -->
    <property name="project.name" value="spring_ibatis_web" />
    <!-- 创建目录 -->
    <property name="build.dir" value="${basedir}/build" />
    <!-- 临时文件目录 -->
    <property name="build.temp.dir" value="${build.dir}/temp" />
    <!-- 编译生产的class文件存放的临时目录 -->
    <property name="build.classes.dir" value="${build.dir}/temp/clasess" />
    <!-- 源文件目录 -->
    <property name="src.dir" value="${basedir}/src" />
    <!-- 项目的web根目录 -->
    <property name="web.dir" value="${basedir}/WebRoot" />
    <!-- 项目的WEB-INF目录 -->
    <property name="webinf.dir" value="${web.dir}/WEB-INF" />
    <!-- 项目的classes目录 -->
    <property name="classes.dir" value="${webinf.dir}/classes" />
    <!-- 编译所需的java源文件存放的临时目录 -->
    <property name="src.temp.dir" value="${build.dir}/temp/src" />
    <!-- dist目录 -->
    <property name="dist.dir" value="${basedir}/dist" />
	<!-- 修改的文件存放目录 -->
	<property name="modify.dir" value="${dist.dir}/modify" />
    <!-- 打成的jar包存放目录 -->
    <property name="lib.dir" value="${dist.dir}/lib" />
    <!-- 编译所依赖的jar包 -->
    <property name="lib.path" value="${web.dir}/WEB-INF/lib" />
    <!-- 项目打成的jar包名字-->
    <property name="project.jar.name" value="spring_ibatis_web" />
	<!-- Tomcat安装路径 -->
	<!-- <property name="tomcat.home" value="D:/Tomcat5" /> -->
    <!-- 本机WebApps所在的路径 -->
    <property name="webapps.path" value="${tomcat.home}/webapps" />
	<!-- Tomat j2ee jar包(主要包括jsp-api.jar,servlet-api.jar等)路径-->
	<property name="j2eelib.path" value="${tomcat.home}/common/lib" />
	
    <!--==========================================================================-->
    <!--==============================设置 classpath===============================-->
    <!--==========================================================================-->
    <path id="compile.classpath">
        <fileset dir="${lib.path}">
            <include name="**/*.jar" />
        </fileset>
    	<fileset dir="${j2eelib.path}">  
    	    <include name="**/*.jar" />  
    	</fileset>
        <pathelement path="${classes.path}" />
    </path>

    <!--===========================================================================-->
    <!--================================初始化======================================-->
    <!--===========================================================================-->
    <target name="init">
        <delete dir="${build.temp.dir}" verbose="true" />
        <delete dir="${dist.dir}" verbose="true" />
        <mkdir dir="${build.dir}" />
        <mkdir dir="${build.classes.dir}" />
        <mkdir dir="${dist.dir}" />
        <mkdir dir="${lib.dir}" />
        <copy todir="${src.temp.dir}" verbose="true">
            <fileset dir="${src.dir}">
                <include name="**/*.java" />
            	<include name="**/*.properties" />
            	<include name="**/*.xml" />
            </fileset>
        </copy>
    </target>
    <!--===========================================================================-->
    <!--================================编译成class文件==============================-->
    <!--===========================================================================-->
    <target name="compile" depends="init">
        <javac srcdir="${src.temp.dir}" destdir="${build.classes.dir}" target="1.5" debug="true" debuglevel="lines,source" deprecation="on">
            <classpath refid="compile.classpath" />
        </javac>
    	<!-- 资源文件,配置文件 -->
    	<!--
		<copy todir="${build.classes.dir}" verbose="true">
			<fileset dir="${src.temp.dir}/resource">
            	<include name="**/*.properties" />
            	<include name="**/*.xml" />
			</fileset>
		</copy>
		-->    	
    </target>
    <!--===========================================================================-->
    <!--================================打成jar 包==================================-->
    <!--===========================================================================-->
    <target name="jar" description="打成jar包" depends="compile">
        <jar jarfile="${lib.dir}/${project.jar.name}.jar">
            <fileset dir="${build.classes.dir}">
                <include name="**/**/*.class" />
            	<include name="**/**/*.properties" />
            	<include name="**/**/*.xml" />
            </fileset>
        </jar>
    </target>
    <!--==========================================================================-->
    <!--==================将spring_ibatis_web.jar拷贝到WEB-INF/lib 下===============-->
    <!--==========================================================================-->
    <target name="copyjar" description="将spring_ibatis_web.jar拷贝到WEB-INF/lib下" depends="jar">
           <copy todir="${lib.path}" file="${lib.dir}/${project.jar.name}.jar" />
    </target>

    <!--==========================================================================-->
    <!--================================打成WAR 包=================================-->
    <!--==========================================================================-->
    <target name="war" description="Build the web application archive" depends="copyjar">
        <war warfile="${dist.dir}/${project.name}.war" webxml="${webinf.dir}/web.xml">
            <fileset dir="${web.dir}">
            	<exclude name="WEB-INF/classes/**"/>
        	</fileset>
        </war>
    </target>
	
    <!--===========================================================================-->
    <!-- ============================将WAR包(或直接将WebRoot)部署到TOMCAT==============-->
    <!--===========================================================================-->
    <target name="deploy" depends="war">
    	 <delete dir="${webapps.path}/${project.name}" verbose="true"></delete>
    	 <delete file="${webapps.path}/${project.name}.war" verbose="true"></delete>
         <copy todir="${webapps.path}" file="${dist.dir}/${project.name}.war"></copy>
    	<!--
    	<delete dir="${webapps.path}/${project.name}" verbose="true"></delete>
    	<mkdir dir="${webapps.path}/${project.name}"/>
    	<copy todir="${webapps.path}/${project.name}">
    		<fileset dir="${web.dir}">
    			<include name="**"/>
    			<exclude name="WEB-INF/classes/**"/>
    		</fileset>
    	</copy>
    	-->
    </target>
	
	<!--==============================================================================-->
    <!--=====================将从上次打包好之后修改的文件拷贝出来============================-->
	<!--==============================================================================-->
	<target name="copyUpdateFile" depends="deploy" description="将从上次打包好之后修改的文件拷贝出来">
		<echo>上次修改时间:${build.time}</echo>
		<copy todir="${modify.dir}/${project.name}"  includeemptydirs="no" verbose="true">
				<fileset dir="${basedir}" includes="**" >
					<exclude name="dist/**"/>
					<exclude name="build/**"/>
					<exclude name="**/*.class"/>
					<exclude name="*.bat"/>
					<exclude name="*.properties"/>
					<exclude name="*.xml"/>
					<exclude name="*.bak"/>
					<date datetime="${build.time}" pattern="yyyy-MM-dd HH:mm:ss" when="after"/>
				</fileset>
		</copy>
    </target>
	
	<!--==========================================================================-->
    <!--==========================将升级包上传到FTP==================================-->
	<!--==========================================================================-->
	<target name="ftp" if="${ftp.need}" depends="copyUpdateFile" description="将升级包上传到FTP" >
		<echo>FTP主机:${ftp.host}</echo>
		<echo>FTP端口:${ftp.port}</echo>
		<echo>FTP目录:${ftp.remotedir}</echo>
		<ftp action="mkdir" 
					 server="${ftp.host}" 
					 port="${ftp.port}" 
					 userid="${ftp.username}" 
					 password="${ftp.password}" 
					 remotedir="${ftp.remotedir}" 
					 depends="yes" 
					 binary="yes"
					 verbose="true">
		</ftp>
		<ftp action="del" 
			 server="${ftp.host}" 
			 port="${ftp.port}" 
			 userid="${ftp.username}" 
			 password="${ftp.password}" 
			 remotedir="${ftp.remotedir}" 
			 depends="yes" 
			 binary="yes" 
			 verbose="true">
		    <fileset dir="${ftp.remotedir}">
		      <include name="**"/>
		    </fileset>
		</ftp>
		<ftp action="put" 
			 server="${ftp.host}" 
			 port="${ftp.port}" 
			 userid="${ftp.username}" 
			 password="${ftp.password}" 
			 remotedir="${ftp.remotedir}" 
			 depends="yes" 
			 binary="yes" 
			 verbose="true">
			 <fileset dir="${modify.dir}">
				<include name="**"/>
			 </fileset>
		</ftp>
	</target>
	
    <!--==========================================================================-->
    <!--==========================清理及后续操作(更新版本,及修改时间)===================-->
    <!--==========================================================================-->
    <target name="clean" depends="ftp" description="清理及后续操作(更新版本,及修改时间)">
    	<delete dir="${build.dir}"></delete>
		<propertyfile file="${basedir}/version.properties">
			<entry default="001" key="build.number" operation="+" pattern="000" type="int" />
			<entry default="now" key="build.time" pattern="yyyy-MM-dd HH:mm:ss" type="date" />
		</propertyfile>
    </target>
	
    <!--==========================================================================-->
    <!--================================关闭Tomcat=================================-->
    <!--==========================================================================-->
	<!--
    <target name="tomcat-stop" depends="clean" description="Tomcat Stopping...">
         <java jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
            <jvmarg value="-Dcatalina.home=${tomcat.home}"/>
            <arg line="stop"/>
         </java>
         <waitfor maxwait="5" maxwaitunit="second">
            <available file="errors.log"/>
         </waitfor>
     </target>
     -->
	
    <!--==========================================================================-->
    <!--================================启动Tomcat=================================-->
    <!--==========================================================================-->
	<!--
    <target name="tomcat-start" depends="clean" description="Tomcat Starting...">
     <exec executable="${tomcat.home}/bin/startup.bat" spawn="true" vmlauncher="false">
        <env key="CATALINA_HOME" value="${tomcat.home}" />
        <arg line="/c start ${tomcat.home}/bin/startup.bat" />
     </exec>
    </target>
	-->
	
	<!--==========================================================================-->
	<!--================================关闭Tomcat=================================-->
	<!--==========================================================================-->
	<!--
	<target name="tomcat-stop" depends="clean">
	    <java jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
	        <jvmarg value="-Dcatalina.home=${tomcat.home}"/>
	        <arg line="stop"/>
	    </java>
	</target>
	-->
	
	<!--==========================================================================-->
	<!--================================启动Tomcat=================================-->
	<!--==========================================================================-->
	<!--
	<target name="tomcat-start" depends="tomcat-stop">
	    <java jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
	        <jvmarg value="-Dcatalina.home=${tomcat.home}"/>
	    </java>
	</target>
	-->
</project>

 

 

 

2.build.properties

 

#Tue Mar 29 13:32:14 CST 2011
tomcat.home=D\:/Tomcat5
ftp.need=false
ftp.username=zjie
ftp.password=zjie
ftp.host=192.168.60.207
ftp.port=21
ftp.remotedir=FWQQ1212

  

 

 

3.version.properties

 

build.time=2011-03-30 09\:18\:02
build.number=035

 

 

你可能感兴趣的:(tomcat,Web,jsp,ant,脚本)