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命令的结果如下图:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿老高

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值