⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ant入门教程.htm

📁 google新推出的手机开发平台的中文文献
💻 HTM
📖 第 1 页 / 共 4 页
字号:

                        <SCRIPT src="Ant入门教程_files/show_ads.js" 
                        type=text/javascript>
</SCRIPT>
                      </TD>
                      <TD vAlign=top width=358>
                        <DIV 
                        style="TEXT-INDENT: 21pt">本内容包含了Ant的历史简要介绍,Ant的功能以及Ant框架的介绍,并对下载安装使用Ant进行了示例介绍,同时通过一个Java程序讲解了Ant的基本使用方法。<BR><BR><BR></DIV>
                        <DIV style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><SPAN 
                        class=STYLE1><STRONG>1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        </STRONG><STRONG>Ant简介:这里引用Ant帮助文档中对Ant</STRONG><STRONG>的介绍:</STRONG></SPAN></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; LINE-HEIGHT: 12pt"><BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                        Apache 
                        Ant是一个基于Java的构建工具。从理论上讲,也是一种类似于Make的工具,只是去除了Make工具的缺点。</DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; LINE-HEIGHT: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;既然已经有了make, 
                        gnumake, nmake, 
                        jam以及其他的构件工具,为什么还要Ant呢?因为Ant的早期开发者发现所有以上这些工具都或多或少的有一些局限性,使得在跨平台开发软件成为困难。类似于Make的工具都是传统的基于Shell的--首先进行依赖性检查,然后执行命令。这意味着你可以轻易的通过使用或者编写程序来扩展这些工具,以满足不同的平台。当然,这也意味着你将局限于特定的平台,至少可以说局限于特定类型的平台,例如:Unix平台。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><BR></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; LINE-HEIGHT: 12pt"></DIV></TD></TR>
                    <TR>
                      <TD colSpan=2 height=20>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; LINE-HEIGHT: 12pt">
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; LINE-HEIGHT: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;同时,Make文件也有一些先天的缺陷。好多人都会遇到恐怖的tab问题。Ant的最初开发者多次说“我的命令不能执行因为我在tab前面加了一个空格!”。一些工具如Jam一定程序上解决了这个问题,但仍有其它的格式问题。<BR><BR><BR></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; LINE-HEIGHT: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;Ant与从基于命令的那些扩展开来的那些工具不同,Ant是由java类扩展的。不用编写shell命令,而是配置基于XML的文件,形成多个任务的目标配置树。每一个任务都是通过一个实现了一个规定接口的java类来运行的。</DIV><BR>&nbsp;&nbsp;&nbsp;&nbsp;ant缺少了一些直接执行shell命令的能力,如find 
                        . -name foo -exec rm 
                        {},但它给用户提供了跨平台的能力,可以在任何地方工作。实际上,Ant也提供了命令execute用来执行shell命令,这就是它的任务,它允许执行基于操作系统的命令。<BR><BR><BR></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 0cm"><SPAN 
                        style="FONT-SIZE: 10.5pt">&nbsp;&nbsp;&nbsp;&nbsp;</SPAN>简单的说,Ant是一个基于Java,并且主要用于Java工程的构建工具。Ant本意是Another 
                        Neat Tool,也就是另一种整洁的工具,取首字符就是Ant。<BR><BR><BR></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 0cm">构建工具就是为了减少重复工作而产生的。<BR><BR><BR></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><SPAN 
                        style="COLOR: #0000ff"><STRONG><SPAN 
                        style="FONT-SIZE: 10.5pt">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        Ant的一些核心概念:</SPAN></STRONG></SPAN></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 21pt"><SPAN 
                        style="FONT-SIZE: 10.5pt">XML:</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">构建文件是以</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">XML</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">文件来描述的,采用</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">XML</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">格式有很多好处。这里就不一一列举。</SPAN></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 21pt">陈述式语法:构建文件短小精悍,且易于理解。</DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 21pt"><SPAN 
                        style="FONT-SIZE: 10.5pt">每个构建文件包含一个工程</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">(project)</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">。</SPAN></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 21pt"><SPAN 
                        style="FONT-SIZE: 10.5pt">每个工程包含若干个目标</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">(target)</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">。</SPAN></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 21pt"><SPAN 
                        style="FONT-SIZE: 10.5pt">目标可以依赖于其他的目标</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">(depends)</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">。</SPAN></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 21pt"><SPAN 
                        style="FONT-SIZE: 10.5pt">目标包含任务</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">(task)</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">。</SPAN></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 21pt"><SPAN 
                        style="FONT-SIZE: 10.5pt">易于使用</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">Java</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">语言增加新的任务</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">---</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">易于扩展(自定义)。</SPAN></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><SPAN 
                        class=STYLE1><STRONG><SPAN 
                        style="FONT-SIZE: 10.5pt">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        </SPAN></STRONG><STRONG><SPAN 
                        style="FONT-SIZE: 10.5pt">Ant</SPAN></STRONG><STRONG><SPAN 
                        style="FONT-SIZE: 10.5pt">结构:</SPAN></STRONG></SPAN></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 21pt"><SPAN 
                        style="FONT-SIZE: 10.5pt">Ant</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">的结构如下图所示:</SPAN></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; TEXT-JUSTIFY: inter-ideograph; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 0cm"><BR><IMG 
                        alt="" 
                        src="Ant入门教程_files/1dfd5fb0860e49caa4ac48253544cb79.png"></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; TEXT-JUSTIFY: inter-ideograph; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 0cm"><SPAN 
                        style="FONT-SIZE: 10.5pt"><BR>构建文件的概念视图:工程包含一个目标的集合。在每个目标里是任务的声明,它们是对</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">Ant</SPAN><SPAN 
                        style="FONT-SIZE: 10.5pt">用于构建该目标的行为说明。目标生成一个依赖关系图表来声明该目标的依赖关系。当执行一个目标时,必须先执行它们依赖的目标。</SPAN></DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; TEXT-JUSTIFY: inter-ideograph; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 0cm">&nbsp;</DIV>
                        <DIV 
                        style="MARGIN-TOP: 0cm; TEXT-JUSTIFY: inter-ideograph; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 0cm"><STRONG><SPAN 
                        style="FONT-SIZE: 10.5pt"><SPAN 
                        class=STYLE1>例子:一个典型的构建文件</SPAN>:</SPAN></STRONG></DIV>
                        <DIV>&lt;?xml version="1.0" ?&gt;</DIV>
                        <DIV>&lt;project name="OurProject" 
                        default="deploy"&gt;</DIV>
                        <DIV style="TEXT-INDENT: 21pt">&lt;target 
                        name="init"&gt;</DIV>
                        <DIV style="TEXT-INDENT: 21pt">&lt;mkdir 
                        dir="build/classes" /&gt;</DIV>
                        <DIV style="TEXT-INDENT: 21pt">&lt;mkdir dir="dist" 
                        /&gt;</DIV>
                        <DIV style="TEXT-INDENT: 21pt">&lt;/target&gt;</DIV>
                        <DIV style="TEXT-INDENT: 21pt">&lt;target name="compile" 
                        depends="init" &gt;</DIV>
                        <DIV style="TEXT-INDENT: 21pt">&lt;javac srcdir="src" 
                        destdir="build/classes"/&gt;</DIV>
                        <DIV style="TEXT-INDENT: 21pt">&lt;/target&gt;</DIV>
                        <DIV style="TEXT-INDENT: 21pt">&lt;target name="doc" 
                        depends="init" &gt;</DIV>
                        <DIV style="TEXT-INDENT: 21pt">&lt;javadoc 
                        destdir="build/classes" sourcepath="src" 
                        packagenames="org.*" /&gt;</DIV>
                        <DIV style="TEXT-INDENT: 21pt">&lt;/target&gt;</DIV>
                        <DIV style="TEXT-INDENT: 21pt">&lt;target name="deploy" 
                        depends="compile,doc" &gt;</DIV>
                        <DIV 
                        style="TEXT-INDENT: 21pt">&nbsp;&nbsp;&nbsp;&nbsp;&lt;jar 
                        destfile="dist/project.jar" basedir="build/classes"/&gt; 
                        <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        &lt;ftp server="<SPAN style="COLOR: red">"</SPAN> 
                        userid="<SPAN style="COLOR: red">"</SPAN> 
                        password="<SPAN style="COLOR: red">"&gt;</SPAN> 
                        <DIV 
                        style="TEXT-INDENT: 21pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;fileset 
                        dir="dist"/&gt;</DIV>
                        <DIV style="TEXT-INDENT: 21pt">&lt;/ftp&gt;</DIV>
                        <DIV style="TEXT-INDENT: 21pt">&lt;/target&gt;</DIV>
                        <DIV>&lt;/project&gt;</DIV>
                        <DIV>&nbsp;</DIV>
                        <DIV><STRONG>该构建过程如下:</STRONG></DIV>
                        <DIV>系统初始化1、编译&nbsp;&nbsp;2、生成JAVADOC&nbsp;&nbsp;&nbsp;4、打包&nbsp;&nbsp;5、上传到FTP,其中后两步结合到一起叫部署。</DIV>
                        <DIV>&nbsp;</DIV>
                        <DIV>执行时输出如下:</DIV>
                        <DIV>&gt; ant -propertyfile ftp.properties</DIV>
                        <DIV>Buildfile: build.xml</DIV>
                        <DIV>init:</DIV>
                        <DIV>[mkdir] Created dir: 
                        /home/ant/Projects/OurProject/build/classes</DIV>
                        <DIV>[mkdir] Created dir: 
                        /home/ant/Projects/OurProject/dist</DIV>
                        <DIV>compile:</DIV>
                        <DIV>[javac] Compiling 1 source file to 
                        /home/ant/Projects/OurProject/build/</DIV>
                        <DIV>classes</DIV>
                        <DIV>doc:</DIV>
                        <DIV>[javadoc] Generating Javadoc</DIV>
                        <DIV>[javadoc] Javadoc execution</DIV>
                        <DIV>[javadoc] Loading source files for package 
                        org.example.antbook.lesson1...</DIV>
                        <DIV>[javadoc] Constructing Javadoc information...</DIV>
                        <DIV>[javadoc] Building tree for all the packages and 
                        classes...</DIV>
                        <DIV>[javadoc] Building index for all the packages and 
                        classes...</DIV>
                        <DIV>[javadoc] Building index for all classes...</DIV>
                        <DIV>deploy:</DIV>
                        <DIV>[jar] Building jar: 
                        /home/ant/Projects/OurProject/dist/project.jar</DIV>
                        <DIV>[ftp] sending files</DIV>
                        <DIV>[ftp] 1 files sent</DIV>
                        <DIV>BUILD SUCCESSFUL</DIV>
                        <DIV>Total time: 5 seconds.</DIV>
                        <DIV><BR>在执行时使用命令行参数以传入一个属性文件,属性文件中包含连接FTP服务器使用的服务器名,用户名,用户密码来给<SPAN 
                        style="COLOR: red">特性使用。</SPAN></DIV>
                        <DIV>这个例子很好的展示了Ant的一些基本要素:目标依赖、特性的使用、编译、文档生成、JAR打包(tar,Zip,WAR,EAR等),最后是部署。</DIV>
                        <DIV>&nbsp;</DIV>
                        <DIV>Ant的简单任务(&lt;mkdir&gt;)都是由Java类库来实现相应的功能。而一些复杂的任务&lt;ftp&gt;、&lt;junit&gt;还需要第三方库的支持。</DIV>
                        <DIV>&nbsp;</DIV>
                        <DIV>&nbsp;&nbsp;&nbsp;&nbsp;Ant的一个强大之处:它总能工作。只要正确的指定构建文件,Ant就能计算出目标的依赖性,并且按照正确的顺序调用目标。目标通过任务按序执行,而任务自身处理其文件依赖性以及实际的操作来完成工作。因为每个任务通常都是在高层陈述,所以一两行XML语句经常就已经足够描述任务的内容。</DIV>
                        <DIV>&nbsp;</DIV>
                        <DIV style="MARGIN-LEFT: 21pt; TEXT-INDENT: -21pt"><SPAN 
                        class=STYLE1><STRONG>4.&nbsp;&nbsp;&nbsp;</STRONG><STRONG>下载并安装</STRONG><STRONG>Ant</STRONG></SPAN></DIV>
                        <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;使用Ant前提条件,系统中已经安装JDK以及Ant。在文档编写之时,Ant的最新版本是Ant 
                        1.7,但是为了稳定性,本文档使用版本为Ant 1.6.5.</DIV>
                        <DIV>首先下载Ant,到apache软件网站<A 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -