`
zht110227
  • 浏览: 2401 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多
ant实践入门
关键字: 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>

分享到:
评论

相关推荐

    apache-ant-1.6.5-bin.zip_ ant 1.6.5_ant_ant-1.6.5_apache ant win

    Apache Ant 是一个开源的构建工具,广泛用于Java项目构建,由Apache软件基金会开发。这个"apache-ant-1.6.5-bin.zip"文件是Ant的1.6.5版本的二进制发行版,适合在Windows操作系统上使用。Ant是基于Java的,它的主要...

    ant.jar下载

    org.apache.tools.ant.Main org.apache.tools.ant.Task org.apache.tools.bzip2.CRC org.apache.tools.ant.Target org.apache.tools.ant.Project org.apache.tools.zip.ZipFile org.apache.tools.zip.ZipLong ...

    开发工具 ant-1.9.6

    开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6开发工具 ant-1.9.6...

    ant ant ant ant

    "Ant ant ant antant ant ant antant ant ant ant" 这个描述可能是在强调Ant在项目构建过程中的重复性和不可或缺性,暗示着它在工程中的频繁使用和核心地位。 Ant的设计理念是“一切都是XML”,它通过XML格式的构建...

    Axure AntDesign元件库

    Axure AntDesign元件库是一款专为Axure设计的高质量组件集合,它旨在帮助原型设计师快速构建基于AntDesign设计系统的Web应用界面。AntDesign是阿里巴巴开源的一款著名前端UI框架,以其优雅、直观、高效的特性广受...

    ANT+协议 VS2015源文件

    ANT+协议是一种无线通信协议,主要用于运动健康和健身设备之间的数据传输。该协议由Garmin公司开发,并在开放源码的基础上推广,使得不同厂商的设备能够无缝共享数据,如心率、速度、距离等运动参数。VS2015源文件指...

    AntDesign3.9Axure组件

    《AntDesign3.9Axure组件:原型设计的利器》 在互联网产品开发流程中,原型设计是一个至关重要的环节,它能清晰地呈现产品的功能结构和交互方式,为后续的开发工作提供明确的方向。AntDesign3.9Axure组件正是这样一...

    mac下ant打包android

    在给定的文件中,`apache-ant-1.9.4-bin.zip`是Ant的一个版本,你需要解压并将其添加到系统路径中,这样命令行就可以识别`ant`命令了。安装完成后,确保你的环境配置正确,包括Android SDK和相关的环境变量(如`...

    ant1.9包下载

    Apache Ant是Java开发中不可或缺的构建工具,它以其灵活性、可扩展性和跨平台特性而闻名。标题中的"ant1.9包下载"指的是Apache Ant 1.9系列的版本,这是该工具的一个重要里程碑,提供了许多增强的功能和修复了已知...

    Ant design axure设计库

    **Ant Design Axure设计库详解** Ant Design是一个广泛使用的开源UI设计框架,源自阿里巴巴集团,专为构建高效、稳定且具有良好用户体验的Web应用而设计。它提供了丰富的组件库,覆盖了网页界面设计的各个方面,...

    apache-ant-1.9.16-bin.zip

    Apache Ant 是一个开源的构建工具,广泛用于Java项目管理,它是Apache软件基金会的产品之一。Ant以其XML为基础的构建文件(build.xml)而著名,这种文件定义了构建过程中的任务序列,使得开发人员能够自动化编译、...

    ant-design-demos

    "ant-design-demos" 是一个基于Ant Design框架的示例集合,主要展示了Ant Design的各种组件和功能在实际应用中的使用方式。Ant Design是一款由阿里集团开发的高质量React UI库,它提供了一系列美观、易用且具有企业...

    apache-ant-1.9.16-bin.tar.gz

    Apache Ant 是一个由Apache软件基金会开发的Java库和命令行工具,其设计目的是驱动构建过程。这个工具的名字“Ant”来源于“蚂蚁”,象征着它在软件工程中的小而有力的角色,能够处理各种复杂的构建任务。在Java开发...

    apache-ant-1.9.9.zip

    Apache Ant 是一个开源的构建工具,广泛用于Java项目,它基于XML来定义构建过程,使得构建脚本具有可读性强、可复用性高的特点。标题中的"apache-ant-1.9.9.zip"表明这是一个包含Apache Ant 1.9.9版本的压缩文件,...

    apache-ant-1.6.0-bin.zip_ant 1_ant 1.6_ant 1.6.0_ant-1.6.0_apach

    标签中的"ant_1", "ant_1.6", "ant_1.6.0", "ant-1.6.0"和"apache-ant-1.6"都指的是Apache Ant的不同版本,1.6.0是其中的一个稳定版本,发布于2003年,提供了许多改进和新特性,比如支持JUnit 3.8,对ivy依赖管理...

    Ant Design Library 3.0 Axure 组件库

    《Ant Design Library 3.0 与 Axure 组件库详解》 Ant Design Library 3.0 是一款专为Axure设计的组件库,旨在帮助设计师高效、精准地构建高质量的原型。Ant Design,源自阿里巴巴的前端框架,以其优雅的设计风格和...

    apache-ant-1.9.6的jar包

    Apache Ant 是一个开源的构建工具,它主要用于Java项目构建、自动化任务执行,如编译、打包、测试和部署。在Java开发中,Ant以其XML格式的构建文件(build.xml)著称,允许开发者定义项目构建的步骤和依赖关系。...

    ANT文件详解 ant介绍 ANT 命令

    ### ANT文件详解:深入理解ANT及其在项目构建中的应用 #### Ant的概念与起源 Ant,全称为Apache Ant,是一款开源的、跨平台的项目构建工具,最初由James Duncan Davidson开发,现归属于Apache软件基金会Jakarta...

    apache-ant-1.8.2

    Apache Ant 是一个开源的构建工具,它主要用于Java项目构建,由Apache Software Foundation开发并维护。在Java开发领域,Ant以其灵活性和可配置性而被广泛使用,它通过XML格式的构建文件(通常命名为build.xml)来...

    Axure组件库ant.zip

    "Ant"在这里指的是蚂蚁金服(Ant Group)设计系统中的组件,这个组件库是专门为Axure设计的,目的是为了提升产品设计和开发团队的工作效率。 在“Axure组件库ant.zip”中,我们可以推测包含了一系列与蚂蚁金服Ant ...

Global site tag (gtag.js) - Google Analytics