100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Ant—使用Ant构建简单Java项目(二)

Ant—使用Ant构建简单Java项目(二)

时间:2023-03-26 09:46:03

相关推荐

Ant—使用Ant构建简单Java项目(二)

博客《Ant—使用Ant构建简单Java项目(一)》演示了使用Ant工具构建简单的Java项目,接着这个例子来进一步学习Ant:

上面例子需要执行多条ant命令才能运行Test类中的main函数,能不能简化需要执行命令呢?答案是肯定的,可以将build.xml文件中的脚本改成下面的脚本:

<?xml version="1.0" encoding="UTF-8"?><project name="test" default="run-Test" basedir="."><property name="src" value="src"/><property name="lib" value="build/lib"/><property name="dest" value="build/classes"/><property name="np_jar" value="build/lib/test.jar"/><target name="create-path"><mkdir dir="${dest}"/><mkdir dir="${lib}"/></target><target name="create-class" depends="create-path"><javac srcdir="${src}" destdir="${dest}"/></target><target name="create-jar" depends="create-class"><jar destfile="${np_jar}" basedir="${dest}"><manifest><attribute name="Main-Class" value="Test"/></manifest></jar></target><target name="run-Test" depends="create-jar"><java classname="Test" classpath="${np_jar}"/></target><target name="clean"><delete file="${np_jar}"/><delete dir="${dest}"/><delete dir="${lib}"/></target></project>

这时只需执行ant命令就可以操作完成需要依次执行“ant create-path”、“ant create-class”、“ant create-jar” 和“ant run-Test”命令才能完成的操作,那么它是怎样做到的呢?

a、由于project标签default属性定义的值为run-Test,所以当直接执行ant命令时ant会首先执行name为run-Test的target;

b、由于name为run-Test的target中的depends属性指向name为create-jar的target,所以会先执行name为create-jar的target;

c、由于name为create-jar的target中的depends属性指向name为create-class的target,所以会先执行name为create-class的target;

d、由于name为create-class的target中的depends属性指向name为create-path的target,所以会先执行name为create-path的target;

e、由于name为create-path的target没有depends属性,所以ant命令最终先执行该target。

由此可见,此时单独执行ant命令其实就是依次执行了“ant create-path”、“ant create-class”、“ant create-jar” 和“ant run-Test”命令。

DOS窗口单独执行ant命令的结果如下图:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。