`

学习ant的一些东西

阅读更多

1.第一次学习ant的东西:

首先介绍一下Ant.Ant是一种基于Java的build工具。理论上来说,它有些类似于(Unix)C中的make ,但没有make的缺陷。得益于Java的跨平台性,Ant也是一个跨平台的工具。

1。Ant详细介绍请参考http://ant.apache.org/

2。Ant的下载,http://jakarta.apache.org/builds/jakarta-ant/release

3。Ant的安装,针对Win32 ,请下载ant的apache-ant-1.6.5-bin.zip。将Ant解压缩到C:\,解压缩完毕后,默认的文件夹名为apache-ant-1.6.5,重新命名为Ant。

4。Ant的配置,在系统的高级里面配置环境变量。用户变量 里增加 ANT_HOME = C:\Ant; 系统变量的 Path 里面增加这样一句 C:\Ant\Bin。这样配置完成后,注销用户重新登录后,Ant就可以使用了。

5。Ant的使用,首先介绍一下Ant的基本用途,Ant可以用来编译Java文件、打包Jar,War、生成Javadoc等。

我现在就具体介绍一下自己学习使用Ant的过程。首先使用Ant就是想要使得编译自己的java程序不再是那么缓慢,不需要使用Eclipse,节省一下不多的内存。那么就先拿一个十分简单的测试项目来试验一下。要使得Ant运行,就要编写build.xml。build.xml要放置于你项目的根目录下。由于执行Ant是这样一个流程,你cmd进入命令行界面,到你的项目根目录下,输入ant,此时ant就会在根目录下寻找build.xml,找到build.xml后根据配置执行任务。那么最重要的工作就是Ant的build.xml的编写。

build.xml设置了一系列任务,即target。
例子:<target name="init">
          </target>

target按照习惯一般分为几种:
       usage   打印本脚本的帮助信息(缺省)
       init 初始化信息,变量等
       build 编译
       javadoc 生成javaAPI 文档
       jar 将生成文件打包Jar
      clean 清除过程文件、目录
     all 全部任务执行

从最简单的只执行一个target开始,就是build,这个是我最想用的任务。
以例子开始说:


<!-- This file is to study ant -->
<project name="anttest" basedir="." default="build">
<target name="build">
 <property name="build" value="WEB-INF\classes" />
 <property name="src" value="src" />
   <mkdir dir="${build}" />
   <javac srcdir="${src}" destdir="${build}">
    <include name="**/*.java" />
    </javac>
</target>
</project>

这个build.xml是一个简单项目的Ant脚本是我最开始写的,在这个build.xml中 <project default="build" basedir="."> 含义是,默认执行任务为build,根目录为当前目录。<property name="src" value="src" />是定义一些路径变量给后面使用。mkdir就是创建文件夹,然后进行编译。
一些注释:

(1)顶级元素project 需要包含一个default 属性,如果在 Ant 被调用时没有指定目标,这个属性将指定要执行的目标。然后需要使用 target 元素来定义该目标本身。basedir元素用来指明project根目录的绝对路径,“.”是表示当前路径。在不同的ANT里边,encoding属性也许还不一样,我用的ANT1.6,encoding是使用"ISO-8859-1"。不然会提示“Invalid Byte 1 of 1-byte UTF-8 sequence”

(2)元素property是用来设置某些属性,比如设置src路径,classes路径等等.Ant 中的属性类似编程语言中的变量,它们都具有名称和值。然而与通常的变量不同,一经设置,Ant 中的属性就不可更改;它们是不可变的,就像 Java 语言中的 String 对象。

为了在生成文件的其他部分引用这个属性,会使用类似${metal}的语法;

为了使用这样一个值,它是另一个属性的值的组成部分,会使用类似${metal}.db的语法

Ant 中有许多预定义的属性,如${ant.version},这个属性包含 Ant 的版本;以及 ${basedir},这个属性是项目目录的绝对路径。

属性经常用于引用文件系统上的文件或目录,但是对于使用不同路径分隔符(例如,/ 与 \)的平台来说,这样可能在跨越不同平台时导致问题。Ant 的 location 属性专门设计用于以平台无关的方式包含文件系统路径。这个标签的两个版本都会在不同的平台具有相同的行为。如果可移植性是必需的,唯一要避免的内容就是文件名中的 DOS 风格的驱动器号。

(3)执行ant时,程序只对修改过的文件进行编译。

 (3)。一个目标target)是生成过程中已定义的一个步骤,它执行任意数量的操作,比如编译一组源文件。


分享到:
评论

相关推荐

    有关ant-crontrib的一些注意的东西

    这篇博客文章“有关ant-crontrib的一些注意的东西”可能涵盖了在使用Ant-contrib时需要注意的关键点,虽然具体的细节没有给出,但我们可以根据通常的经验和最佳实践来讨论这个主题。 首先,Ant-contrib提供了一系列...

    关于ant脚本的一些东西

    Ant是Apache软件基金会的一个开源项目,它是一个Java构建工具,主要负责自动化构建Java项目,比如...同时,Maven作为另一款流行的构建工具,它的文档也是值得学习的,可以帮助开发者拓宽视野,了解更多的项目管理策略。

    ant入门资料.快速上手

    随着对Ant的深入了解,你可以学习更高级的功能,如条件判断、循环等。 #### 六、Ant常用Task **6.1 使用classpath** - **设置classpath**:可以通过`&lt;classpath&gt;`任务来定义类路径。 示例: ```xml ...

    JAVA-ANT-Streamline-Source-Code.zip_streamline

    这样的精简版本对于学习ANT的工作原理、进行定制化开发或者理解ANT如何与其他Java项目协同工作来说,非常有价值。 描述中提到,“源代码中有很多实际用不着的东西”,这表明原始的ANT源代码可能包含了大量的示例、...

    antui-admin:ant的admin ui

    Deprecation Warning这个项目是当初结合学习react与项目中实际应用做出的组件库,从那时起,工具和最佳实践发生了巨大的变化。为了尽可能地获得最现代的体验,我推荐您使用作为项目的脚手架它只包含了运行程序所必需...

    liferay的那些东西

    学习Ant的基本概念和使用方法对理解Liferay的构建过程至关重要。 2. **liferay超链接.pdf**:这份文档可能涵盖了在Liferay中创建和管理链接的技巧。Liferay允许用户和portlet创建内部和外部链接,以方便访问其他...

    bat文件编写学习笔记

    最近在做一个小东西,自动化持续集成,虽然他的理念还是蛮有说头的,但是说到底我所做的,主要就是学习ant和cruisecontrol的使用,非要算的话再加上junit和selenium,另外,可能就是这里要说的bat文件的编写了。

    剑桥小学英语词汇.doc

    此外,文档还提醒我们,英语学习在中国面临的一大挑战是母语的干扰,尤其是由于东西方文化的差异。尽管如此,英语学习仍至关重要,且应该追求高效、快速地掌握。作者提供的这些方法,如图像辅助和原声发音,都是为了...

    WithAntShop_Server_egg:基于鸡蛋,mongodb仿制支付宝withant商店小程序节点服务端,另外基于umi,react的客户端和后台管理界面

    学React已经有削减了,在期间都接触到的都是些概念性的东西和一些简单的demo示例。想要更加熟悉的框架以及能够安全的运用在项​​目中,还需要真正的实战练习,无意中看到支付宝withAnt商店小程序,于是就用刚学的...

    蚂蚁搬运东西

    在项目中,可能有一个抽象类`Ant`,它包含了蚂蚁的基本属性和通用行为,比如移动、感知环境等。抽象类为具体蚂蚁类(如WorkerAnt、QueenAnt)提供了一个基础模板,这些具体类可以通过继承抽象类并重写其方法来实现...

    自己做的一个java swring小东西

    本项目“自己做的一个java swing小东西”显然是一个基于Java Swing实现的客户端-服务器(C/S)架构的应用程序,可能是为了帮助同学完成的一项编程任务。 Swing 提供了丰富的组件集合,包括按钮(JButton)、文本框...

    flex sdk很经典的东西

    4. **build.xml**: 这是Ant构建脚本,Ant是一个Java库和命令行工具,用于自动化软件构建过程。在这个文件中,开发者可以定义构建过程的步骤,如编译、测试和打包。 5. **bin** 目录: 包含了Flex SDK的可执行文件和...

    java编程.数据库.j2ee架构与模式等电子书整合(2)

    东西有点乱.但希望对大家有帮助 (压缩包共2个) 2包 1.编程学习 2.病毒日志 3.apache-ant 4.apache-tomcat 5.数据库 6.web技术 7.java编程 8.基础知识 9.网络技术 10.apache-struts 11.j2ee架构与模式 12.Log4j 13....

    精通代码生成器XDoclet.doc

    它允许您使用象 JavaDoc 标记之类的东西来向诸如类、方法和字段之类的语言特征添加元数据。随后,它利用这些额外的元数据来生成诸如部署描述符和源代码之类的相关文件。 XDoclet 的核心功能是根据以下组合来生成...

    英语中的动物习语.doc

    1. **Ant** - "Have ants in one’s pants" 指的是一个人因为焦虑、愤怒或者兴奋而无法静止,总是不停地动来动去,表现出一种坐立不安的状态。 2. **Bear** - 在不同的语境中,bear可以指代熊、粗鲁的人或股市中的...

    应用词源学速记5500单词需要掌握的基础词汇

    例如,理解了"borrow"(借)和"lend"(借出)都与拉丁语的"bere"(喝)有关,因为"借用"就像暂时"喝"别人的东西,最终要还回去。类似这样的词源故事可以帮助我们形成联想,提高记忆效率。 在复习考研词汇时,可以...

    JSP程序员成长手册

    2:jacascript/jscript学习时间,这真的不好说,比较深奥的东西,够用的话一个礼拜可以学写皮毛。 3:css 学习时间,三天的时间你应该知道如何使用css了,不要求你写,一般是美工来写css. 4:java 学习时间,天才...

    gradle-multi-project-example:Gradle多项目管理范例

    这个项目用于学习研究Gradle的一个测试用例,扔掉也可惜,所以修改了一下放在这儿,如果能对别人有所帮助的话也算是好事一件。 为什么用Gradle 主要还是审美需求。 之前一直用Ant来写很多task做项目管理,配合ivy做...

    builder-tool:用于构建软件的CLI工具

    诸如ant和gradle类的构建工具非常丰富,但是许多工具gradle着大量不必要的东西,这些东西要么不必要,要么过于笼统,易于学习。 从项目和开发工作流程的角度来看,我想要一些易于维护的东西。 该工具无法完成许多...

    苏教版牛津小学英语单词总表.doc

    8. 动物:"ant"(蚂蚁)、"bear"(熊)。 9. 体育相关词汇:"ball game"(球类运动)、"baseball"(棒球)、"basketball"(篮球)。 10. 物品:"bag"(包)、"ball pen"(圆珠笔)、"balloon"(气球)、"banana"...

Global site tag (gtag.js) - Google Analytics