当前位置: 首页 > ai >正文

Apache Ant

ANT代表Another Neat Tool。 它是Apache的基于Java的构建工具。 在深入了解Apache Ant的细节之前,让我们先了解为什么我们首先需要构建工具。

需要构建工具

平均而言,开发人员花费大量时间执行构建和部署等普通任务,其中包括:

  • 编译代码
  • 打包二进制文件
  • 将二进制文件部署到测试服务器
  • 测试更改
  • 将代码从一个位置复制到另一个位置

要自动化和简化上述任务,Apache Ant非常有用。 它是一个可以从命令行执行的操作系统构建和部署工具。

Apache Ant的历史

  • Ant由James Duncan Davidson(Tomcat的原作者)创建。
  • 它最初用于构建Tomcat,并作为Tomcat发行版的一部分捆绑在一起。
  • Ant诞生于与Apache Make工具相关的问题和复杂性。
  • Ant于2000年被提升为Apache的独立项目。截至2014年5月,Apache Ant的最新版本为1.9.4。

Apache Ant的功能

  • Ant是最完整的Java构建和部署工具。
  • Ant是平台中立的,可以处理特定于平台的属性,例如文件分隔符。
  • Ant可用于执行特定于平台的任务,例如使用“touch”命令修改文件的修改时间。
  • Ant脚本使用纯XML编写。 如果您已经熟悉XML,则可以快速学习Ant。
  • Ant善于自动执行复杂的重复性任务。
  • Ant附带了大量预定义任务。
  • Ant提供了一个开发自定义任务的界面。
  • 可以从命令行轻松调用Ant,它可以与免费和商业IDE集成。

Ant - Environment Setup

Apache Ant Ant是在Apache软件许可下发布的,这是一个由开源计划认证的完全开源的许可证。

最新的Apache Ant版本,包括其完整源代码,类文件和文档,可以在http://ant.apache.org.找到http://ant.apache.org.

安装Apache Ant

假设您已经在计算机上下载并安装了Java Development Kit(JDK)。 如果没有,请按照here的说明操作。

  • 确保将JAVA_HOME环境变量设置为安装JDK的文件夹。
  • 从http://ant.apache.org下载二进制文件
  • 将zip文件解压缩到方便的位置c:\文件夹。 使用Winzip,winRAR,7-zip或类似工具。
  • 创建一个名为ANT_HOME的新环境变量,该变量指向Ant安装文件夹,在本例中为c:\apache-ant-1.8.2-bin文件夹。
  • 将Apache Ant批处理文件的路径附加到PATH环境变量。 在我们的例子中,这将是c:\apache-ant-1.8.2-bin\bin文件夹。

验证Apache Ant安装

要验证在计算机上成功安装Apache Ant,请在命令提示符下键入ant。

您应该看到类似于的输出:

C:\>ant -version
Apache Ant(TM) version 1.8.2 compiled on December 20 2010
123

如果您没有看到上述输出,请确认您已正确执行安装步骤。

安装Eclipse

本教程还介绍了Ant与Eclipse IDE的集成。 因此,如果您尚未安装Eclipse,请下载并安装Eclipse

要安装Eclipse:

  • 从www.eclipse.org下载最新的Eclipse二进制文件
  • 将Eclipse二进制文件解压缩到一个方便的位置,例如c:\folder
  • 从c:\eclipse\eclipse.exe运行Eclipse

Ant - Build Files

通常,Ant的构建文件(称为build.xml应驻留在项目的基本目录中。 但是,文件名或其位置没有限制。 您可以自由使用其他文件名或将构建文件保存在其他位置。

在本练习中,在计算机的任何位置创建一个名为build.xml的文件,其中包含以下内容:

<?xml version="1.0"?><project name="Hello World Project" default="info"><target name="info"><echo>Hello World - Welcome to Apache Ant!</echo></target>
</project>
1234567

请注意,在xml声明之前不应有空行或空格。 如果您允许它们,执行ant构建时会出现以下错误消息 -

The processing instruction target matching “[xX][mM][lL]” is not allowed. 所有构建文件都需要project元素和至少一个target元素。

XML元素project有三个属性:

属性描述
name项目名称。 (可选的)
default构建脚本的默认目标。 项目可能包含任意数量的目标。 此属性指定应将哪个目标视为默认目标。 (必须)
basedir基本目录(或)项目的根文件夹。 (可选的)

目标是您希望作为一个单元运行的任务集合。 在我们的示例中,我们有一个简单的目标来向用户提供信息性消息。

目标可以依赖于其他目标。 例如, deploy目标可能具有对package目标的依赖性, package目标可能具有对compile目标的依赖性等等。 依赖关系使用depends属性表示。 例如:

<target name="deploy" depends="package">....
</target>
<target name="package" depends="clean,compile">....
</target>
<target name="clean" >....
</target>
<target name="compile" >....
</target>
12345678910111213

target元素具有以下属性:

属性描述
name目标名称(必填)
depends以逗号分隔的目标所依赖的所有目标的列表。 (可选的)
description目标的简短描述。 (可选的)
if允许基于条件属性的真实性执行目标。 (可选的)
unless将目标添加到指定Extension Point的依赖项列表中。 扩展点类似于目标,但它没有任何任务。 (可选的)

上例中的echo任务是一个打印消息的简单任务。 在我们的示例中,它打印消息Hello World

要运行ant构建文件,请打开命令提示符并导航到build.xml所在的文件夹,然后键入ant info 。 你也可以输入ant 。 两者都可以,因为info是构建文件中的默认目标。 您应该看到以下输出:

C:\>ant
Buildfile: C:\build.xml
info: [echo] Hello World - Welcome to Apache Ant!
BUILD SUCCESSFUL
Total time: 0 seconds
C:\>
1234567

Ant - Property Task

Ant构建文件是用XML编写的,它不允许像你喜欢的编程语言那样声明变量。 但是,正如您可能想象的那样,如果Ant允许声明项目名称,项目源目录等变量,那将非常有用。

Ant使用property元素,允许您指定属性。 这允许将属性从一个构建更改为另一个或从一个环境更改为另一个。

默认情况下,Ant提供以下可在构建文件中使用的预定义属性:

属性描述
ant.file构建文件的完整位置。
ant.versionApache Ant安装的版本。
basedir构建的基础,在project元素的basedir属性中指定。
ant.java.versionAnt使用的JDK版本。
ant.project.name项目name ,在project元素的name atrribute中指定。
ant.project.default-target当前项目的默认目标。
ant.project.invoked-targets以逗号分隔的当前项目中调用的目标列表。
ant.core.libAnt jar文件的完整位置。
ant.homeAnt安装的主目录。
ant.library.dirAnt库文件的主目录 - 通常是ANT_HOME/lib文件夹。

Ant还使构建文件可以使用系统属性(示例:file.separator)。

除上述内容外,用户还可以使用property元素定义其他属性。 以下示例显示如何定义名为sitename的属性:

<?xml version="1.0"?>
<project name="Hello World Project" default="info"><property name="sitename" value="www.iowiki.com"/><target name="info"><echo>Apache Ant version is ${ant.version} - You are at ${sitename} </echo></target>
</project>
123456789

在上面的构建文件上运行Ant会产生以下输出:

C:\>ant
Buildfile: C:\build.xml
info: [echo] Apache Ant version is Apache Ant(TM) version 1.8.2  compiled on December 20 2010 - You are at www.iowiki.com
BUILD SUCCESSFUL
Total time: 0 seconds
C:\>
12345678

Ant - Property Files

如果您正在使用一些属性,则直接在构建文件中设置属性是可以的。 但是,对于大型项目,将属性存储在单独的属性文件中是有意义的。

将属性存储在单独的文件中具有以下优点:

  • 它允许您重用相同的构建文件,并为不同的执行环境使用不同的属性设置。 例如,可以为DEV,TEST和PROD环境单独维护构建属性文件。
  • 当您事先不知道属性(在特定环境中)的值时,它很有用。 这允许您在已知属性值的其他环境中执行构建。

没有硬性规则,但通常属性文件名为build.properties并且与build.xml文件并排放置。 您可以基于部署环境创建多个构建属性文件 - 例如build.properties.devbuild.properties.test.

build属性文件的内容类似于普通的java属性文件。 它们每行包含一个属性。 每个属性由名称和值对表示。 名称和值对由等号(=)分隔。 强烈建议使用适当的注释对属性进行注释。 使用散列(#)字符列出注释。

以下示例显示了build.xml文件及其关联的build.properties文件:

build.xml

<?xml version="1.0"?>
<project name="Hello World Project" default="info"><property file="build.properties"/><target name="info"><echo>Apache Ant version is ${ant.version} - You are at ${sitename} </echo></target>
</project>
123456789

build.properties

# The Site Name
sitename=www.iowiki.com
buildversion=3.3.2
1234

在上面的示例中, sitename是一个自定义属性,映射到网站名称。 您可以以这种方式声明任意数量的自定义属性。 上面示例中列出的另一个自定义属性是buildversion ,在本例中,它指的是构建版本。

除了上述内容之外,Ant还提供了许多预定义的构建属性,这些属性在上一节中列出,但在下面再次表示。

属性描述
ant.file构建文件的完整位置。
ant.versionApache Ant安装的版本。
basedir构建的基础,在project元素的basedir属性中指定。
ant.java.versionAnt使用的JDK版本。
ant.project.name项目name ,在proje
http://www.xdnf.cn/news/11601.html

相关文章:

  • windows server 2003序列号
  • qq的一些代码
  • Qt实战-简单的点名程序和抽奖程序
  • 找不到minidump.dmp文件
  • C运行时库(C Run-time Library)详解
  • 各大搜索引擎提交网站的入口地址
  • ⭐️最全面的Windows Vista原版系统ISO镜像下载
  • 最好用的六款虚拟机软件
  • 【谨慎学习】手把手教你破解网站管理后台帐号密码
  • 校内和海内的异同
  • 48.网络安全渗透测试—[穷举篇11]—[webshell密码破解(asp/aspx/php)]
  • 飞信WebService接口
  • python 图片生成视频_python--通过cv2多张图片生成视频
  • mathematica 7.0 破解注册安装全过程
  • 电脑怎么隐藏文件夹?这样做,快速搞定!
  • ViewState 解码工具
  • Java加密技术
  • Java员工信息管理系统(源码+开题)
  • 中移在线2020春季校招java开发岗面经
  • QQ病毒——天眼查询系统
  • 《鬼武者》全攻略
  • 整理38款国外的一些免费虚拟主机,云计算,看看你使用过哪几个
  • [附源码]PHP计算机毕业设计大米科技手机网站(程序+LW)
  • 黑客口中的肉鸡是什么?
  • 手把手教你设置代理服务器IP地址
  • 大学生网页设计制作作业实例代码 (前端网页源码,建议收藏) HTML+CSS+JS
  • 就这样,打造一个实用的Ubuntu(转自论坛,略加修改)
  • 【狂神说】SpringMVC笔记整理 | SSM框架整合
  • u盘强制格式化工具_U盘格式化工具,抢救你的U盘
  • JS之kindeditor的用法简介