`
jaychang
  • 浏览: 734785 次
  • 性别: Icon_minigender_1
  • 来自: 嘉兴
社区版块
存档分类
最新评论

ANT Package Script For Depend On Tomcat Developing

    博客分类:
  • Ant
阅读更多

工程结构:

 

 

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

 

 

分享到:
评论

相关推荐

    tomcat7.0 depend-lib

    标题“tomcat7.0 depend-lib”涉及到的是Apache Tomcat 7.0版本的一个关键组成部分——依赖库。在Java Web应用程序服务器如Tomcat中,依赖库(或称依赖包)是运行时环境不可或缺的部分,它们提供了运行Web应用所需的...

    高中英语 知识点大全44 demand、depend on的用法

    本文将深入探讨两个关键动词——"demand"和"depend on"的用法,帮助学生深化对这两个词汇的理解。 首先,"demand"是一个非常实用且多功能的词汇。它可以作为名词和动词使用。作为名词时,"demand"表示"要求",例如...

    what-do-i-depend-on:看看你所依赖的

    $ npm install -g what-do-i-depend-on 用法 输入完整命令: $ what-do-i-depend-on 要不就: $ wdido wdido需要选项。 Usage : what-do-i-depend-on [path] [options] --dependencies, --pro Show only ...

    安卓手机购物清单

    Most projects depend on the OI Distribution Library, which is located in trunk/distribution/DistributionLibrary. Using Eclipse: ============== * import the application and trunk/distribution/...

    安卓手机文件管理

    Most projects depend on the OI Distribution Library, which is located in trunk/distribution/DistributionLibrary. Using Eclipse: ============== * import the application and trunk/distribution/...

    nRF 52832 SoftDeive_s132_nrf52_4.0.4

    s132_nrf52_4.0.4 This is a production release that contains minor but important changes to the 4.0.3 release. ... The actual requirements depend on the configuration chosen at sd_ble_enable() time.

    fcn32s depend on pytorch 基于深度学习的语义分割模型FCN的pytorch实现.zip

    fcn32s depend on pytorch 基于深度学习的语义分割模型FCN的pytorch实现 深度学习(Deep Learning,简称DL)是机器学习(Machine Learning,简称ML)领域中一个新的研究方向,其目标是让机器能够像人一样具有分析...

    ant-1.7下载

    2. **依赖管理**:Ant允许开发者通过`&lt;depend&gt;`任务检查和更新目标文件的依赖关系,确保每次构建都只处理了真正需要编译的文件。 3. **条件与循环**:Ant 1.7支持条件语句(如`&lt;if&gt;`和`&lt;unless&gt;`)和循环结构(如`...

    依赖库分许工具

    依赖库分析工具Depend是一个非常实用的软件,主要用于解析Windows程序在运行时所依赖的各种动态链接库(Dynamic Link Libraries, DLLs)和其他系统组件。它能够帮助开发者和系统管理员了解程序运行所需的环境,确保...

    apache-ant-1-8-3

    Ant通过`&lt;depend&gt;`任务来处理项目的依赖关系,确保在构建过程中先编译依赖的类。在1.8.3版本中,这一功能得到了优化,提高了构建效率。 **八、宏(Macros)** 宏定义(MacroDef)允许用户创建可重用的任务模板,减少...

    matlab开发-makedepend

    在MATLAB开发过程中,`makedepend`是一个非常重要的工具,尤其对于大型项目而言,它有助于管理和维护代码的依赖关系。这个工具能够自动检测`.m`脚本或函数文件中引用的所有其他函数和变量,从而生成一个依赖文件,...

    apache-ant-1.8.0.zip

    Ant还支持条件语句(如`&lt;if&gt;`和`&lt;unless&gt;`)和循环结构(如`&lt;for&gt;`),允许编写复杂的构建逻辑。此外,通过`&lt;typedef&gt;`任务,可以扩展Ant的功能,引入自定义任务或第三方构建工具,如Maven的插件。 总的来说,...

    ant-contrib-0.3.jar.zip

    1. **循环任务**:如foreach、for、if、while等,这些任务允许在Ant构建脚本中实现条件判断和迭代逻辑。 2. **数据类型**:如map、path、propertyfile等,这些类型扩展了Ant对数据结构的处理能力。 3. **网络任务**...

    2019_It depends on when you search(使用“搜索量”来量化“用户注意力”)

    2019年的研究《2019_It depends on when you search(使用“搜索量”来量化“用户注意力”)》就探讨了如何利用搜索量这一指标来量化用户注意力,并尝试将其应用于金融市场的分析和预测中。 研究利用了Google ...

    DNAman 6.0

    DNAMAN's speed, versatility, accuracy and high quality presentation make it one of the fundamental tools every molecular biologist can depend on. It is also a sequence analysis software package ...

    ant1.9资源

    Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。 一. 安装与配置 下载地址:...

    dll depend

    "dll depend"是一个专门用于分析DLL文件依赖关系的工具,它可以帮助开发者找出程序运行时可能遇到的错误或缺失的库。 `depends.dll`和`depends.exe`是这个工具的核心组件,`depends.exe`是主执行文件,用于用户界面...

    ant-robotframework-0.1.jar.zip

    这可以通过在Ant构建脚本中使用&lt;depend&gt;任务或Maven的标签来实现。同时,确保所有相关的JAR文件都位于正确的类路径下,以避免运行时的类找不到异常。 总的来说,“ant-robotframework-0.1.jar.zip”是一个结合了...

Global site tag (gtag.js) - Google Analytics