`
zjnbshifox
  • 浏览: 315724 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

我的ant脚本

    博客分类:
  • Java
阅读更多
<?xml version="1.0" encoding="UTF-8"?>
<project name="worker" default="usage">
        <property name="basedir" value="."/>        							<!-- 定义根目录为当前目录 -->
        <property name="app.name" value="worker"/>							<!-- 定义应用程序名称 -->
        <property name="war.name" value="${app.name}.war"/>						<!-- 定义根war包的名称 -->
        <property name="src.dir"  value="${basedir}/src" />						<!-- 定义源代码路径 -->
        <property name="lib.dir"  value="${basedir}/WebContent/Web-INF/lib"/>		<!-- 定义库文件路径 -->
        <property name="dist.dir" value="${basedir}/WebContent/WEB-INF/classes"/>	<!-- 定义根class文件位置 -->
        <property name="tomcat.dir" value="D:/apache-tomcat-6.0.18"/>						<!-- 定义本机上Tomcat安装目录 -->
        <property name="out.dir" value="${basedir}/out"/>						<!-- 定义根war包的输出位置 -->
		<property name="env" value="dev"></property>
		<!-- 定义claspath -->
        <path id="classpath">
        	<fileset dir="${lib.dir}">  
                 <include name="**/*.jar"/>  
             </fileset>
             <fileset dir="${tomcat.dir}/lib">
             	<include name="**/*.jar"/>  
             </fileset>
    	</path>
		
		<!--显示用法-->
		<target name="usage">
				<echo message="${app.name} Build file"/>
			    <echo message="-------------------------------------------------------------"/>
			    <echo message=""/>
			    <echo message=" available targets are:"/>
			    <echo message=""/>
			    <echo message="   clean     --> 清除相关的目录"/>
			    <echo message="   init      --> 新建所需要的目录"/>
			    <echo message="   build     --> 编译所有源代码到[${dist.dir}]目录"/>
			    <echo message="   copyfile  --> 把[${src.dir}]目录中的xml和properties配置文件复制到[${dist.dir}]"/>
				<echo message="   war       --> 把[${basedir}/WebRoot]目录打包成war文件放到[${out.dir}]"/>
				<echo message="   ftpdeploy --> 把打好的war包传到ftp上"/>
			    <echo message=""/>
				<echo message="-------------------------------------------------------------"/>
			    <echo message=""/>
			    <echo message=""/>
		</target>
		<target name="clean">
			<!--清除以前目录-->
			<delete dir="${dist.dir}"  failonerror="false"/>
	        <delete dir="${out.dir}"  failonerror="false"/>	
		</target>
	
		<!--初始化-->
        <target name="init" depends="clean">
	        <!--准备目录-->
	        <mkdir dir="${dist.dir}"/>
	        <mkdir dir="${out.dir}"/>
    	</target>
		
		<!--编译-->
        <target name="build" depends="init">
            <javac srcdir="${src.dir}" destdir="${dist.dir}" encoding="utf-8">
            	<classpath refid="classpath"/>
    		</javac>    		
        </target>
	
		<!--复制配置文件-->
        <target name="copyfile" depends="init">
        	<copy todir="${dist.dir}">
            	<fileset dir="${src.dir}">
            		<include name="**/*.xml"/>
            		<include name="**/*.hbm.xml"/>
            	</fileset>
        	</copy>
        	<copy tofile="${dist.dir}/db.properties">
        	     <fileset dir="${src.dir}" includes="db_${env}.properties" />
        	</copy>
        	<copy tofile="${dist.dir}/log4j.properties">
        	     <fileset dir="${src.dir}" includes="log4j.properties" />
        	</copy>
        	<copy tofile="${dist.dir}/format.properties">
        	        	     <fileset dir="${src.dir}" includes="format.properties" />
        	 </copy>
        </target>
	
		<target name="jar" depends="copyfile">
			<jar jarfile="${out.dir}/${app.name}.jar" basedir="${dist.dir}">
			</jar>
			<delete dir="${dist.dir}"  failonerror="false"   quiet="true"/> 
			<copy todir="${lib.dir}">
					<fileset dir="${out.dir}">
						<include name="${out.dir}/${app.name}.jar"/>
					</fileset>
			</copy>
		</target>
	
		<!--打包成war-->
    
		<target name="war" depends="copyfile,build" >
        	<war destfile="${out.dir}/${war.name}" webxml="${basedir}/WebContent/WEB-INF/web.xml">
		    	<fileset dir="${basedir}/WebContent">
		    			<exclude name="**/web.xml"/>
		    			<include name="**/*.*"/>
		    			<include name="**/*"/>
		    	</fileset>        		
		    </war>
        </target>

		<target name="deploy" depends="copyfile,build,war">
			<copy todir="${tomcat.dir}/webapps">
				<fileset dir="${out.dir}">
					<include name="${war.name}"/>
				</fileset>
			</copy>
		</target>	
		<!--使用ftp上传-->
		<!--注意,使用这个命令需要有common-net(http://jakarta.apache.org/commons/net/download.html)包在ant的classpath中-->
        <target name="ftpdeploy" depends="war">
        	
        	<ftp action="delete"   server="10.0.0.21"    	 port="21" remotedir="/"       userid="web"       	       password="web">        	
        	        	    <fileset>
        	        	       <include name="${app.name}"/>
        	        	       <include name="${war.name}"/>
        	        	    </fileset>
        	  </ftp>
        	 <ftp server="10.0.0.21"
			       port="21"
			       remotedir="/"
			       userid="uid"
			       password="pwd">
				   <fileset dir="${out.dir}">
				     <include name="${war.name}"/>
				   </fileset>
		  	</ftp>
        </target>
    </project>

分享到:
评论

相关推荐

    teamcity-ant脚本.rar

    在TeamCity中,Ant脚本扮演着至关重要的角色,因为Ant是Java项目常用的构建工具,能够定义和执行构建过程。下面我们将深入探讨TeamCity与Ant脚本的结合使用及其相关知识点。 1. **Ant简介** Ant是Apache软件基金会...

    ant脚本资料ant

    - **XML结构**:Ant脚本以XML格式编写,遵循特定的命名空间和元素结构,如`&lt;project&gt;`、`&lt;target&gt;`、`&lt;task&gt;`等。 - **属性(Attribute)**:任务通常有属性,用来设置参数,例如`srcdir`用于指定源代码目录,`...

    ant 脚本从svn上取代码打包代码全,同时包括相关的jar包

    首先,让我们来看看Ant脚本的基本结构。一个典型的Ant构建文件(build.xml)会包含多个目标(target),每个目标是一系列任务的集合。例如,一个简单的构建文件可能包含`compile`、`test`和`package`目标。以下是...

    ant脚本运行junit测试用例

    通过ant对各种语言脚本做运行管理,并输出报告!

    ant脚本-build.xml

    ant脚本例子,一个build.xml模板, 修改后直接运行。

    ant脚本通用模板 ant脚本通用模板

    ### ant脚本通用模板知识点详解 #### 一、Ant简介 Apache Ant 是一个Java环境下的构建工具,主要用于编译、测试、部署等任务的自动化执行。Ant使用XML格式来描述构建过程,使得整个构建流程清晰易懂。对于中小型...

    通过ant脚本,编译打包android工程

    通过ant脚本,编译打包android工程。 编译打包android工程的ant脚本,Android官方提供的打包脚本。 有注释

    Ant脚本详解说明

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

    shell脚本+ant脚本

    Shell脚本和Ant脚本是两种在IT行业中广泛使用的自动化工具,主要应用于Unix/Linux系统和Java项目的构建。这里我们将深入探讨这两个概念以及它们在实际工作中的应用。 首先,Shell脚本是基于Unix/Linux命令行环境的...

    ant脚本编译jar

    本文将深入探讨如何使用`Ant`脚本来编译并创建一个`JAR`文件,以此来理解`Ant`脚本的工作原理和实际应用。 `Ant`是Apache软件基金会开发的一款开源构建工具,它使用XML格式定义构建过程,具有高度可配置性和可扩展...

    Ant构建中使用JS脚本方法

    4. **交互与控制流**:JavaScript提供了丰富的控制流语句,如`if...else`、`for`循环等,这使得Ant脚本能够根据项目需求进行条件判断和迭代操作。 5. **错误处理**:JavaScript中的异常处理机制也能在Ant脚本中使用...

    常用的ANT蚂蚁脚本

    在`build.xml`或`build1.xml`这样的ANT脚本中,可能会包含使用XDoclet的任务定义,例如`&lt;xdoclet&gt;`任务,来执行这一步骤。 2. **部署EJB项目**: EJB(Enterprise JavaBeans)是Java EE平台的核心组件,用于构建可...

    java项目ant打包脚本

    Java项目中的Ant打包脚本是开发过程中的一个重要环节,它使得开发者能够自动化构建、测试和部署应用程序。Ant是一个基于XML的构建工具,由Apache软件基金会开发,它在Java社区广泛使用,替代了早期的Makefile,因为...

    Ant和批处理脚本.rar

    本资源"Ant和批处理脚本.rar"聚焦于两种常用的自动化工具:Apache Ant和Windows批处理脚本,它们在不同场景下各有优势。 Apache Ant是一个由Apache软件基金会开发的Java库和命令行工具,其设计目标是驱动构建过程。...

    利用ant脚本 自动构建svn增量.docx

    【Ant脚本自动构建SVN增量】是一种高效且节省资源的软件开发实践,它使得开发和测试团队能够自动化处理从代码提交到构建、打包、再到部署的整个过程。使用Ant,一个基于XML的构建工具,可以创建可重复执行的脚本来...

    Ant 脚本详解

    在本文中,我们将深入探讨Ant脚本的各个方面。 ### Ant的基本结构 Ant的核心是构建文件,这个文件通常以XML格式编写,包含了多个目标(target)和任务(task)。目标是一系列任务的集合,它们按照特定顺序执行。...

    分享一个项目的Ant脚本配制

    标题中的“分享一个项目的Ant脚本配置”表明我们将探讨的是如何使用Apache Ant工具来构建和管理Java项目。Ant是开源的构建工具,广泛应用于Java项目,它可以自动化编译、打包、测试等开发流程。 在描述中提到的...

    ANT脚本学习与开发指导

    这个“ANT脚本学习与开发指导”文档,显然是为了帮助初学者掌握ANT的基本用法和高级技巧。下面,我们将深入探讨ANT的核心概念、用途、基本结构以及如何进行实际操作。 一、ANT简介 ANT是Apache软件基金会的一个项目...

    ant脚本

Global site tag (gtag.js) - Google Analytics