Apache Ant是一个Java库和命令行工具,其任务是将构建文件中描述的进程作为相互依赖的目标和扩展点。Ant的主要用途是构建Java应用程序。Ant提供了许多允许编译,组装,测试和运行Java应用程序的内置任务。Ant还可以有效地用于构建非Java应用程序,例如C或C ++应用程序。更一般地说,Ant可以用来试验任何类型的过程,可以用目标和任务来描述。Ant非常灵活,不会将编码约定或目录布局强加给采用它作为构建工具的Java项目。
1)Ant环境的安装配置
安装Ant需要JDK的支持,请先确保已经安装了对应版本的JDK。本次选择Ant版本为1.10.2,对应的JDK版本为1.8以上,环境为centos7系统。
a)下载Ant,Ant下载地址为:http://ant.apache.org/bindownload.cgi,此处选择apache-ant-1.10.2-bin.tar.gz压缩包。
b)配置环境变量:添加如下两行到当前用户根目录下的/etc/profile里。
export ANT_HOME=/pot/apache-ant-1.10.2 #ANT_HOME为ant文件存放目录位置
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
c)更新/etc/profile文件,执行以下命令
[root@localhost~]# source /etc/profile
d)验证是否安装成功,执行以下命令,查看版本信息,结果如图所示
[root@localhost~]# ant -version
2)利用ant构建java工程
Ant的构件文件是基于XML编写的,默认名称为build.xml。为了更清楚的了解Ant,在这里编写一个简单的Ant程序,实现前面的词频统计实例。
a)新建名为wordCount的Java工程目录,建立src目录为源代码目录,在src目录下建立WordCount.javal类文件,在test根目录下面建立bulid.xml文件。
b)编辑bulid.xml文件,实现编译src目录下的java文件,并将编译后的class文件放入build/classes目录中。添加如下内容到bulid.xml文件:
<project name="HadoopCookbook" default="build" basedir=".">
<description>
simple example build file
</description>
<!-- set global properties for this build -->
<property name="src" location="src" />
<property name="build" location="build" />
<property name="hadoop.home" location="/home/hadoop/hadoop-2.9.0" />
<target name="init">
<!-- Create the time stamp -->
<tstamp />
<!-- Create the build directory structure used by compile -->
<mkdir dir="${build}" />
<mkdir dir="${build}/classes" />
</target>
<target name="compile" depends="init" description="compile the source ">
<!-- Compile the java code from ${src} into ${build} -->
<javac srcdir="${src}" destdir="${build}/classes" includeantruntime="false">
<classpath>
<fileset dir="${hadoop.home}/share/hadoop">
<include name="**/*.jar" />
</fileset>
<!-- <fileset dir="${hadoop.home}">-->
<!-- <include name="hadoop-core-*.jar" />-->
<!-- </fileset>-->
</classpath>
</javac>
</target>
<target name="build" depends="compile" description="generate the distribution">
<!-- Build the jar file -->
<jar jarfile="${build}/lib/WordCount.jar" basedir="${build}/classes" />
</target>
<target name="clean" description="clean up">
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}" />
</target>
</project>
e) 进入到wordCount目录,执行ant build命令,结果如图所示
f)查看生成的jar文件,如图所示
dhp 2018.04.26