`

ant 使用

 
阅读更多

  

1 shell 脚本自动部署到服务器,脚本有点笨拙,以后可以改进 

#!/bin/sh
#更新svn    /opt/project_name 项目svn目录
svn update /opt/project_name

echo "update success ======="

echo "------------------ant begin--- ant在项目中-------------"
ant -f /opt/project_name/ant-build.xml
echo "--deleting zhe project last version------"

#--删除以前部署的项目 
rm -rf /opt/project/project_name/
echo "complete delete last version ---"

#-- 移动编译好的项目到工程目录中
mv  /opt/uc_master/build/WebRoot /opt/project/project_name
echo "--deploy project complete  SUCESS -------" 

#等待回车关闭 窗口 
read 
 

 

   1  ant打发布包实例:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--basedir="."   当前目录为工作目录 -->
<project basedir="." name="rc" default="test">
	<property environment="env" />
	<property name="target" value="1.7" />
	<property name="source" value="1.7" />
	
	<property name="src" value="${basedir}/src" />
	<property name="build" value="${basedir}/build" />
	<property name="webroot.dir" value="WebRoot" />
	<property name="web.dir" value="${webroot.dir}/WEB-INF" />
	<property name="lib.dir" value="${web.dir}/lib" />
	<property name="tomcat.lib" value="D:\Program Files\apache-tomcat-7.0.28\lib" /> <!-- 不同的机器改成对应的路径 -->
	<!--个人机器的工程名称,需要修改-->
	<property name="Webcontent.dir" value="WebContent" />
	
	<echo message="${lib.dir}" />
	<path id="rc.classpath">
		<fileset dir="${lib.dir}">
			<include name="*.jar" />
		</fileset>
		<!-- All Jars in /tomcatlib -->
		<fileset dir="${tomcat.lib}">
			<include name="*.jar" />
		</fileset>
	</path>
	<!--创建目录结构 ,并且拷贝源目录下的文件到build下面 -->
	<target name="init">
		<mkdir dir="${build}/${webroot.dir}" />
		<mkdir dir="${build}/${web.dir}" />
		<mkdir dir="${build}/${web.dir}/classes" />
		<mkdir dir="${build}/${lib.dir}" />
		<copy todir="${build}/${webroot.dir}">
			<fileset dir="${Webcontent.dir}">
				<include name="WEB-INF/**" />
				<include name="**" />
			</fileset>
		</copy>
	</target>
	<!--删除目录结构 -->
	<target name="clean">
		<delete dir="${build}/${webroot.dir}" />
		<delete dir="${build}/${web.dir}" />
		<delete dir="${build}/${web.dir}/classes" />
		<delete dir="${build}/${lib.dir}" />
		<delete dir="${build}/project.war" />
	</target>
	
	<target depends="clean,init" name="build">
		<echo message="${ant.project.name}: ${ant.file}" />
		<copy todir="${build}/${web.dir}/classes"> <!-- 复制src下面的配置文件到classes目录 -->
			<fileset dir="${src}">
				<include name="*.xml" />
				<include name="*.properties" />
			</fileset>
		</copy>
		<javac debug="true" debuglevel="lines,vars" destdir="${build}/${web.dir}/classes" encoding="utf-8" classpathref="rc.classpath" includeAntRuntime="false">
			<!--可以写多个src标签 -->
			<src path="${src}" />
		</javac>
	</target>
	<!--打war包 -->
	<target name="antwar" depends="build" description="打war包">
		<war warfile="${build}/project.war" webxml="${build}/${web.dir}/web.xml">
			<lib dir="${build}/${lib.dir}">
				<include name="**" />
			</lib>
			<classes dir="${build}/${web.dir}/classes" />
			<fileset dir="${build}/${webroot.dir}" />
		</war>
	</target>
	<!--测试用的-->
	<target  name="test">
	      <echo message="The base dir is:${basedir}/src"/>
	</target>
</project>

 2  ant打jar包的实例 

   

<?xml version="1.0" encoding="GB2312" standalone="no"?>
<project basedir="." default="usage" name="CountHadoop"> <!-- ====此处需要修改====工程名 -->
<!-- 工程名,没有被引用,可以不改 -->
      <property name="project-name" value="CountHadoop"/> <!-- ====此处需要修改====.jar文件名 -->
      <property name="lib" value="lib"/> <!-- lib-->
      <property name="src" value="src"/> <!-- src-->
      <property name="tar" value="bin"/> <!-- bin -->
      <property name="jar-file-name" value="${project-name}.jar"/>
      <property name="main-class" value="org.tony.mr.test.WordCount2"/> <!-- ====此处需要修改====main-class-->
      <!--相关的jar包 -->
      <path id="Third-Part Lib">
            <fileset dir="${lib}">
                  <include name="**/*.jar"/>
            </fileset>
      </path>
      <target description="Build file usage info (default task)" name="usage">
            <echo message=" "/>
            <echo message="  ${project-name} "/>
            <echo message="-------------------------------------------------------"/>
            <echo message="  Available Targets:"/>
            <echo message="  compile    - Compiles the source code"/>
            <echo message="  clean      - Delete class files and .jar file"/>
            <echo message="  jar        - Generate an .jar for source code"/>
            <echo message="  run        - Execute Main-Class"/>
            <echo message="-------------------------------------------------------"/>
      </target>
	  <!--创建bin目录-->
      <target name="prepare">
            <mkdir dir="${tar}"/>
      </target>
      <!--删除bin目录下的所有目录和文件-->
      <target name="clean">
            <delete dir="${tar}"/>
            <delete file="${jar-file-name}"/>
      </target>
      	<!--拷贝src下的所有目录到bin中 -->
    <target name="copy-res">
        <copy todir="${tar}">
            <fileset dir="${src}">
                <exclude name="**/*.java"/>
            </fileset>
        </copy>
    </target>
      <target depends="clean,prepare,copy-res" name="compile">
            <javac debug="true" deprecation="true" destdir="${tar}" failonerror="true" srcdir="${src}">
                  <classpath refid="Third-Part Lib"/> 
            </javac>
      </target>
     
	    <!-- 注意:classpath="${tar}" 一定要加上,否则会报"java.lang.NoClassDefFoundError"的错误!-->
	    <!--
	    <target depends="compile" name="run">
	        <java classname="${main-class}" classpath="${tar}" fork="true" maxmemory="256m">
	              <classpath refid="Third-Part Lib"/> 
	        </java>
       </target>
		-->
	  <!--Main-Class:运行的主类, Class-Path:相关的jar文件-->
      <target depends="compile" name="jar">
       		 <pathconvert property="mf.classpath" pathsep=" ">
                   <path refid="Third-Part Lib" />
                   <flattenmapper />
               </pathconvert>
            <jar basedir="${tar}" destfile="${jar-file-name}">
                  <manifest>
                        <attribute name="Main-Class" value="${main-class}"/>
                        <attribute name="Class-Path" value="${mf.classpath}"/>
                  </manifest>
            </jar>
      </target>
</project>

 

 

 

 

分享到:
评论

相关推荐

    Ant使用详细介绍(中文版)

    Ant 使用详细介绍 Ant 是什么? Ant 是一个构建工具,它可以帮助我们将项目开发过程中需要完成的各种步骤组织起来,通过一个简易的方式来构建整个项目。Ant 究竟能做什么呢?这取决于 Ant 的任务(Task),Ant 有...

    Ant参考教程,Ant使用指南,Ant全攻略

    "Ant使用指南.pdf"和"Ant.pdf"可能是更全面的Ant使用手册,包含详细的API文档和使用案例,帮助开发者深入理解Ant的各个方面。 总的来说,Ant是一个强大的工具,通过学习以上文档,初学者能够掌握Ant的基础和进阶...

    Ant使用指南.rar

    这个“Ant使用指南”涵盖了Ant的基本概念、配置、任务和实战应用,旨在帮助开发者更好地理解和使用Ant。 1. **Ant简介** - Ant是一个基于Java的构建工具,其设计目标是简化Java项目的构建过程,通过XML描述构建...

    ant使用指南及使用教程

    通过阅读"ant指南"和"ant使用教程",你将深入理解Ant的工作原理,学会编写和执行Ant构建文件,从而提高Java项目的构建效率。不论你是新手还是经验丰富的开发者,这些资源都将为你的项目管理提供有力支持。

    Apache Ant 使用指南

    在"Apache Ant 使用指南"这本书中,你可能会学习到以下关键知识点: 1. **Ant基本概念**:了解Ant的基本结构,包括项目(Project)、目标(Target)、任务(Task)和属性(Property)。项目是构建的顶级容器,目标...

    ant 使用指南-ant入门

    - **属性(Properties)**:Ant支持定义和使用属性,类似于变量,可以用于在整个构建文件中传递值。 - **任务(Tasks)**:Ant提供了一系列内置的任务,如`&lt;javac&gt;`用于编译Java源码,`&lt;copy&gt;`用于复制文件,`...

    ANT使用指南ANT使用指南

    ### ANT使用指南详解 #### 一、导言 Apache Ant 是一款开源的Java构建工具,类似于传统的Unix Make工具。Ant采用XML格式来定义构建过程,提供了丰富的任务(task)集合,适用于自动化编译、测试和部署Java应用程序。...

    ant使用教程

    ### ant使用教程 #### 一、Ant简介 1. **什么是Ant** - Ant是一款用于自动化构建过程的软件工具,最初由Apache Software Foundation开发。它主要用于编译、测试和部署Java应用程序,支持跨平台使用,因为它是用...

    ant使用手册ANT使用指南

    ### ant使用手册ANT使用指南 #### 一、引言 Ant是一种流行的开源构建工具,用于自动化软件项目的构建过程。尤其适用于Java项目,但它也可以用于非Java项目。由于Ant的灵活性和易用性,它在Java开发者社区中迅速...

    ant使用指南.rar

    在“Ant使用指南”中,我们将深入探讨以下关键知识点: 1. **Ant的基本概念**:首先,你需要理解Ant的核心概念,包括构建文件、目标、任务和属性。构建文件是Ant工作的蓝图,定义了一系列的目标和任务,而任务是Ant...

    Ant使用指南-Ant入门手册

    ### Ant使用指南-Ant入门手册 #### 一、Ant是什么? Apache Ant 是一款开源的 Java 构建工具,它的名字来源于“Another Neat Tool”的首字母缩写。Ant 能够帮助开发者自动化构建过程,包括编译源代码、运行测试、...

    ant使用指南(中文)

    Ant是Apache软件基金会下的一个Java项目,它是一个强大的构建工具,...通过阅读《Ant使用指南》PDF文件,您将能深入理解并熟练运用Ant进行项目构建。无论您是新手还是经验丰富的开发者,都能从中受益,提升开发效率。

    ant使用手册(中文教程)

    这个“ant使用手册(中文教程)”涵盖了Ant的基本概念、配置语法、任务使用以及在Java项目中的实际应用。 1. **Ant基本概念** - **构建文件**:Ant的构建过程通过一个名为`build.xml`的XML文件进行描述,该文件...

    apache ant使用例子

    在"apache ant使用例子"中,我们可以通过一个名为"HelloAnt"的MyEclipse工程实例来学习如何使用Ant。MyEclipse是Eclipse IDE的一个扩展,特别适合于Java EE项目的开发,它内置了对Ant的支持,使得我们可以方便地在...

    Ant使用指南pdf

    全面的ant使用手册~!内容如下: · Ant 生成文件是如何构造的 · 如何从命令行以及从Eclipse 内运行Ant · 如果通过编译源代码、创建 JAR 文件以及时间戳文件(以识别每次生成过程的输出)来生 成简单的 Java 项目 ...

    ant 使用帮助文档

    ### ant使用帮助文档 #### 知识点概览 1. **Ant的简介与功能** 2. **安装Ant的基本步骤** 3. **配置环境变量的方法** 4. **验证Ant是否安装成功** 5. **配置数据库链接信息** 6. **创建数据库表及与Ant项目的关联*...

    Ant使用指南.pdf

    ### Ant使用指南:Java项目构建的利器 #### 引言 Apache Ant,作为一个基于Java的构建工具,由James Duncan Davidson创建,旨在简化Java项目的构建流程。Ant,全称Another Neat Tool,以其跨平台特性、易用性及...

Global site tag (gtag.js) - Google Analytics