Apache Ant 自动化工具的使用

ANT的作用

自动化部署 跨平台 利于团队协作

ANT的下载

下载地址:Apache官网 : http://ant.apache.org/
ANT的下载1
ANT的下载2

我们这里要注意.zip推荐在window下使用 .tar.gz推荐在linux下使用,但两者之间也可以互相混用,只是推荐

下载完成后,因为我们先是在linux下使用这个工具,我们可以使用以下两种方法在linux下来获得这个工具。
1. 使用winscp,先在Windows下好,然后通过winscp传到linux上
2. 在linux下使用wget 命令来获得资源

wget  从网络下载一个文件 wget+url
wget http://mirrors.hust.edu.cn/apache//ant/binaries/apache-ant-1.10.0-bin.tar.gz

ANT的配置

  1. 解压文件 tar -xzvf classname
    解压文件
  2. 配置环境变量 在/etc/profile下配置
#2017-1-19
#ANT
export ANT_HOME=/root/apache-ant-1.10.0
export PATH=.:$ANT_HOME/bin:$PATH
  1. 重启文件资源
source /etc/profile
  1. 查看信息 ant -version
    查看ANT信息

ANT的使用

  • ANT命令:
    ant clean 清理命令
    ant run 运行命令
    ant compile 编译命令
    ant build 生成jar包
    这样讲可能会很抽象,我们先通过一个具体的例子来看简单看看ant 命令的使用
    一个简单的项目目录如下:
crm
    src
        com
            test
                Test.java
    build.xml
    classess
        com
            test
                Test.class

这是一个叫crm的项目,其中build.xml文件使我们重点要写编写的,ANT命令的很多行为也也在此定义。
我们先来看看其中的内容。

<!--这里声明了xml文件的版本,使用的编码-->
<?xml version="1.0" encoding="UTF-8"?>
<!--name表示项目名称 basedir表示项目的基准目录用.表示当前目录-->
<project name="crm" basedir=".">
<property name="src" value="src"/>
<property name="dest" value="classes"/>
<property name="jarfile" value="test.jar"/>

<!--创建一个文件夹-->
<target name="init">
<mkdir dir="${dest}"/>
</target>

<!--编译一个文件-->
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}" includeantruntime="on"/>
</target>

<!--删除一个文件夹-->
<target name="delete">
<delete dir="${dest}"/>
</target>

<!--运行一个文件-->
<target name="runfile" depends="compile">
<java classname="com.test.Test" classpath="${dest}"/>
</target>

<!--把classes目录下的文件打包成一个jar包-->
<target name="jar" depends="compile">
<jar jarfile="${jarfile}" basedir="${dest}"/>
</target>

<!--运行jar包里面的Test.class文件-->
<target name="runjar" depends="jar">
<java classname="com.test.Test" classpath="${jarfile}"/>
</target>

<!--删除生成的jar包-->
<target name="deljar">
<delete file="${jarfile}"/>
</target>

<!--无痕模式,生成一个jar包,运行完成后,在吧jar删除-->
<target name="runonce" depends="delete,deljar,runjar">
<delete file="${jarfile}"/>
<delete dir="${dest}"/>
</target>
</project>

这里我们先说一下<project>标签
project用在xml标签之后,将所有的内容包括起来,标签里可以有多个属性。
(1) default表示默认的运行目标,即指定默认的target(即任务)。这个属性是必须的。
(2) basedir表示项目的基准目录。
(3) name表示项目名。
(4) description表示项目的描述。
每个构建文件都对应于一个项目,但是大型项目经常包含大量的子项目,每一个子项目都可以有
自己的构建文件。

<property>标签
里面可以定义各种用到的变量。

<target>标签
一个项目标签下可以有一个或多个target标签。一个target标签可以依赖其他的target
标签。例 如,有一个target用于编译程序,另一个target用于生成可执行文件。
在生成可执行文件之前必须先编译该文件,因此可执行文件的target依赖于编译程序的target。
Target的所有属性如下。
(1).name表示目标名,这个属性是必须的。
(2).depends表示依赖的目标。
(3)if表示仅当属性设置时才执行。
(4)unless表示当属性没有设置时才执行。
(5)description表示项目的描述。
Ant的depends属性指定了target的执行顺序。Ant会依照depends属性中target出现顺序
依次执行 每个target。在执行之前,首先需要执行它所依赖的target。程序中的名为
run的target的 depends属性compile,而名为compile的target的depends属性是prepare,
所以这几个target执 行的顺序是prepare->compile->run。一个target只能被执行一次,
即使有多个target依赖于它。如果没有if或 unless属性target总 会被执行。

<jar>标签
该标签用来生成一个JAR文件,其属性如下。
重点掌握前两个
(1) destfile表示JAR文件名。
(2) basedir表示被归档的文件名。
(3) includes表示被归档的文件模式。
(4) excludes表示被排除的文件模式。

<javac>标签
重点掌握前两个
(1).srcdir表示源程序的目录。
(2).destdir表示class文件的输出目录。
(3).include表示被编译的文件的模式。
(4).excludes表示被排除的文件的模式。
(5).classpath表示所使用的类路径。
(6).debug表示包含的调试信息。
(7).optimize表示是否使用优化。
(8).verbose 表示提供详细的输出信息。
(9).fileonerror表示当碰到错误就自动停止。

<java>标签
标签
该标签用来执行编译生成的.class文件,其属性如下。
(1).classname 表示将执行的类名。
(2).jar表示包含该类的JAR文件名。
(3).classpath所表示用到的类路径。

<delete>标签
该标签用于删除一个文件或一组文件,去属性如下。
(1)/file表示要删除的文件。
(2).dir表示要删除的目录。
(3).includeEmptyDirs 表示指定是否要删除空目录,默认值是删除。
(4).failonerror 表示指定当碰到错误是否停止,默认值是自动停止。
(5).verbose表示指定是否列出所删除的文件,默认值为不列出

<copy>标签
该标签用于文件或文件集的拷贝,其属性如下。
(1).file 表示源文件。
(2).tofile 表示目标文件。
(3).todir 表示目标目录。
(4).overwrite 表示指定是否覆盖目标文件,默认值是不覆盖。
(5).includeEmptyDirs 表示制定是否拷贝空目录,默认值为拷贝。
(6).failonerror 表示指定如目标没有发现是否自动停止,默认值是停止。
(7).verbose 表示制定是否显示详细信息,默认值不显示。

执行文件

<execexecutable="${base.dir}/email.bat" >
</exec>

效果截图

运行一个文件,使用上面的build.xml的内容。

ANT运行一个文件

该命令依赖于前面的init compile命令。

———-

生成一个jar包并运行
jar运行

在windows下的操作

在windows下的操作其实与linux是很类似的,一样的配置环境变量,编写build.xml文件时可以结合notepad++ ediplus 这样会更加快速的编写xml文件,这里就详细说了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值