`
eyesmore
  • 浏览: 376101 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ant实践入门

阅读更多

问题的提出:
Ant(蚂蚁是搬东西的):编译,打包,配置,部署。
这些命令如果一个个地写很麻烦,而且不可以重用,能不能把一个动态的过程描述成一个静态的步骤。
于是,我们想到用一个批处理命令文件,但是如果用.sh和.bat则不可以跨平台,但是如果用ant则可以跨平台。
Ant为了做到跨平台,一个是跨操作系统,另一个是跨IDE,Ant首先抽象出一个中间语言,这个语言是基于xml的。
然后,用Ant执行器来解析该xml描述的操作,并最终和操作系统的批处理命令对应起来。当然,对于ftp这样的外部命令,
可以由第三方插件来支持。

Ant是Apache组织负责开发和维护的,Ant的许多第三方插件也是Apache支持的,比如ftp任务。
http://jakarta.apache.org/ant


Ant的基本任务
常用的内置任务:javac  java   jar   war  copy delete  mkdir  move   tstamp
1、java应用程序相关的
【编译】
<javac srcdir="myproject/mysrc" destdir="classes" />  将源代码编译输出的classes类文件输出到哪。
我们能不能只选择具有某些特性的源代码才编译呢?或者编译的时候,我们要依赖于第三方的一些库呢?
<javac srcdir="myproject/mysrc" destdir="classes" excludes/includes="mypackage/**" classpath="mylib.jar"/>

【运行】
<java classname="textMyTest">
<java classname="testMyTest" classpath="tester.jar" fork="yes">
由于build.xml是由ant来执行的,解析ant要用一个jvm;那么运行的程序可在同一个jvm,也可以单独一个jvm。
fork=yes是不同的jvm。

<java classname="testMyTest">
    <classpath>
        <pathelement path="myproject/classes">
        <pathelement location="mylib/lib.jar">
    </classpath>
//classpath这个复合节点,很明朗地让我们明白了java中的常见classpath,一种是基于目录的(比如classes目录),另一种是基于.jar文件的。
//分别对应pathelement path="目录"   pathelement location=".jar"
</java>

【打包  jar】
<jar jarfile="myjar.jar" basedir="myproject/root" />
<jar jarfile="myjar.jar" basedir="myproject/root" excludes="*.html" update="yes"/>
<jar jarfile="myjar.jar" basedir="myproject/root" compress="false" />  //是否使用压缩形式

【打包 war】

2、操作文件系统
<copy file="myfile.txt" tofile="root/WEB-INF/web.xml" />
<copy file="myfile.txt" tofile="root/WEB-INF/web.xml" overWrite="yes" />
<delete file="myfile.jar" />
<delete dir="myproject/temp" />

3、资源的集合
FileSets和PatternSets
<patternset> 元素定义一个符合条件的资源的集合。(利用正则表达式来进行过滤)
<fileset> 元素定义一个相对于基本目录的资源集合。

<patternset id="javaFiles">
    <include name="**/*.java">  (定义所有的java源文件,无论是哪个目录,包括当前目录及其子目录)
</patternset>

<fileset dir ="myproject/src">
    <patternset refid="javaFiles">   (用fileset来指定基本目录,然后用patternset来过滤基本目录及其子目录满足条件的文件)
</fileset>

4、应用fileset和patternset
<jar jarfile="mylib.jar">
    <fileset dir="myproject/classes" />
    <fileset dir="myproject/bin">
//可以从一个或多个fileset中创建jar
</jar>


<delete>
    <fileset dir=".">
        <patternset refid="classonly" />
    </fileset>
</delete>


<copy todir="../app">
    <fileset dir="myproject/root">
        <patternset>
            <exculude name="**/*.java">
        </patternset>
    </fileset>
</copy>

5、
<ant dir="myproject" /> 则选择缺省的build.xml文件;
<ant dir="myproject" antfile="c:/test/mybuild.xml" /> 专门指定了build文件。

6、实例
<project name="myWebApp" default="deploy" basedir=".">
    <property name="webHome" value="c:\beta\weblogic" />
    <property name="domain" value="mydomain" />

    <target name="compile">
        <mkdir dir="classes" />  //编译所有的java代码,当然有时我们可以排除单元测试的
        <javac srcdir="src" destdir="classes" />
    </target>

    <target name="layout" depends="compile">   //编译完后部署到web服务器上去
        <mkdir dir="temp/WEB-INF/classes" />
        <copy todir="temp/WEB-INF/classes">
            <fileset dir="classes">  //使用fileset和patternset来定义资源集合
        </copy>
        <copy todir="webroot">
            <fileset dir="webroot" />
        </copy>
    </target>

    <target name="archive" depends="layout">
        <jar jarfile="musite.war" basedir="temp" />
        <delete dir="classes" />
        <delete dir="temp" />
    </target>

       
</project>

分享到:
评论

相关推荐

    Ant入门-ant入门pdf

    《Ant入门》是一本专为初学者设计的电子书,主要涵盖了Apache Ant这一构建工具的基础知识和使用方法。Ant是Java开发中广泛使用的自动化构建工具,由Apache软件基金会开发,其设计目标是简化项目构建过程,使开发者...

    Ant 入门资料(完整版)

    Ant是Apache软件基金会下的一个Java构建...总之,这个"Ant入门资料(完整版)"是一套全面的学习资源,涵盖了理论知识、实例演示和实践操作,旨在帮助初学者快速掌握Ant工具,从而在实际开发工作中发挥出它的强大效能。

    Ant 经典入门资料

    Apache Ant 是一个由Java开发的开源构建工具,它在软件工程中被广泛用于自动化构建、测试和部署Java项目。...通过阅读`ant入门.pdf`和实践`code.zip`中的示例,你可以快速入门并掌握Ant的基础知识。

    ant入门小实例练习

    总的来说,“ant入门小实例练习”是一个很好的起点,通过实践可以让你快速掌握Ant的基本操作,为后续更复杂的Java项目构建打下坚实的基础。在实践中,你还可以学习如何利用Ant管理依赖、执行单元测试、构建Web应用,...

    初学者ant入门级小实例

    以上就是Ant入门的一些基本知识点,通过这个“myant01”实例,你可以动手实践这些概念,逐步熟悉Ant的工作方式。随着经验的积累,你会发现Ant是一个强大且灵活的构建工具,能够满足各种复杂的项目构建需求。

    day02-Ant Design以及Ant Design Pro入门.zip

    Ant Design和Ant Design Pro是两个广泛应用于前端开发的UI框架,...通过深入学习和实践“day02-Ant Design以及Ant Design Pro入门”教程,你将能够更好地理解和运用这两个框架,为自己的项目带来专业且高效的解决方案。

    Ant基本使用指南(入门教程)

    Apache Ant 是一个强大的Java项目构建工具,它被广泛应用于软件开发流程中,特别是在处理复杂的构建过程时。Ant基于XML来定义构建任务,...通过不断实践和学习,你可以掌握如何编写复杂的Ant脚本来满足不同项目的需求。

    Apache Ant入门教程

    Apache Ant 是一个基于 Java 的构建工具,由 James Duncan Davidson 创建,其名称源于“another neat tool”...通过实践教程中的示例,您将能够更好地理解和应用 Ant 的各种功能,从而提升您的开发效率和项目管理能力。

    Ant使用指南-Ant入门手册

    ### Ant使用指南-Ant入门手册 #### 一、Ant是什么? Apache Ant 是一款开源的 Java 构建工具,它的名字来源于...通过持续实践和学习,你将能够充分利用 Ant 的全部潜力,为你的 Java 项目带来更多的自动化和灵活性。

    Ant 入门讲解视频

    Ant是Apache软件基金会下的一个...通过观看"Ant入门讲解视频",你可以进一步了解Ant的使用方法和实践案例,结合文档`Ant 入门讲解视频(22分03秒).doc`深入学习,配合`ant.exe`进行实际操作,快速掌握Ant的基本技能。

    start ant 1 ant 入门

    【标题】"start ant 1 ant 入门"指的是学习和使用Apache Ant构建工具的基础教程,这通常涉及Java项目自动化构建的过程。 【描述】"例子 rar"可能是指该资源包含了一个示例的RAR文件,RAR是一种常见的压缩格式,用于...

    Ant入门与进阶

    通过学习和实践这些Ant的基本概念和高级特性,你将能够有效地管理Java项目的构建过程,提高开发效率,同时为团队协作和持续集成打下坚实的基础。无论你是Java新手还是经验丰富的开发者,Ant都是一个值得掌握的重要...

    Ant Design以及Ant Design Pro入门.zip

    这个名为"Ant Design以及Ant Design Pro入门.zip"的压缩包文件包含了学习这两个框架的基础资源,包括代码示例、相关资料和讲义,旨在帮助初学者快速掌握ReactJS、Ant Design和Ant Design Pro的基本用法。 ReactJS是...

    ant design pro 入门demo

    通过分析和实践这个入门Demo,你可以逐步掌握Ant Design Pro的使用,并将其应用于实际项目中,提升你的前端开发能力。记得不断查阅官方文档,同时参与社区讨论,以便及时获取最新的开发技巧和最佳实践。

    Ant入门与进阶.pdf

    ### Ant入门与进阶知识点概览 #### 一、Ant简介 **Ant** 是一个流行的构建工具,主要用于Java项目的构建过程。它通过一系列预定义的任务来执行自动化构建流程,简化了开发人员的工作负担。Ant的核心优势在于其跨...

    ANT入门与提高.doc

    ### ANT入门与提高:构建自动化之旅 #### 一、ANT的背景与起源 Apache ANT,一个开源的Java库和命令行工具,旨在提供强大的构建能力,适用于任何类型的Java项目。它的设计初衷是为了替代传统的Unix shell脚本和...

Global site tag (gtag.js) - Google Analytics