学习ant——Java的Build工具

最近想对hadoop的源码进行修改,发现ant编译工具非常重要,所以就找了一些资料学习了一下。

但在使用过程中,还是遇到了很多问题,在这里记录下来。

先简单看看几个ant的简单介绍:

http://chenchuxin.iteye.com/blog/141355

尝试编译了Hello world.java,成功!大致明白了xml文件的编写,但是在编写Hadoop的XML文件时,还是遇到了问题:

报错:[java] Could not find testio.TestIO. Make sure you have it in your classpath.

查找到资料:

http://lengjianxxxx.blog.163.com/blog/static/811884020085793449669/

http://wenku.baidu.com/view/b247f7b369dc5022aaea00c5.html

我在src中新加入了一个IO输出的测试包testio,编写了一个TestIO.java类。想要加入到build.xml中运行。

以下是我修改的build.xml文件,加入:

<!-- Add testio.scr.dir -->
<property name="testio.dir" value="${basedir}/src/testio"/>
<property name="build.testio" value="${basedir}/build/testio"/>
<!-- Add testio.scr.dir -->

<!-- ================================================================== -->
<!-- Add Compile TestIO -->
<!-- ================================================================== -->
<!-- -->
<!-- ================================================================== -->
<target name="compile-testio" depends="init">
<javac
srcdir="${testio.dir}"
destdir="${build.classes}"
includeantruntime="on">
<compilerarg line="${javac.args} ${javac.args.warnings}" />
<classpath refid="classpath"/>
</javac>
</target>

<target name="build-testio" depends="compile-testio">
<jar jarfile="${build.dir}/testio.jar"
basedir="${build.classes}">
</jar>
</target>

<target name="run-testio" depends="build-testio">
<java classname="testio.TestIO" classpath="${build.dir}/testio.jar">
</java>
</target>

成功!

原文地址:https://www.cnblogs.com/zyumeng/p/2989604.html