在eclipse内调试自定义ant task

在ant的高级应用中可以利用ant提供的api进行自定义的任务(task)设计,简单的来说就是继承org.apache.tools.ant.Task类,并实现excute方法,如果是简单的任务,那写不了几行java代码,如果任务复杂,免不了要对自定义任务的代码进行调试,但是使用ant时运行的是build.xml怎么调试对应的java代码?

 

解决的思路就是直接在eclipse中调试ant。

 

ant本身是一个java程序,所以可以在eclipse中启动调试,我们用的命令 ant -f xxx.xml target 实际是调用了一个脚本,并把build文件和target作为参数传给ant的主函数。因此完全可以在eclipse中完成这些动作,并启动调试或者单纯运行。

 

在一个拥有build.xml文件的java工程中,

添加所有ANT_HOME/lib目录下的库到工程的build path下;

debug-》debug configurations,工程选择当前工程,主函数填org.apache.tools.ant.Main,也就是ant的主函数;

选择argument选项卡,在program argument中填写你本来想运行的ant参数比如:-f "D:/xxx/build.xml" tests;

在源文件中打上断点,启动调试。

 

 

有可能会遇到错误:

1.Invalid implementation version between Ant core and Ant optional tasks

这是因为你的项目环境中存在多个ant库,版本冲突,很多库都会把ant包含其中,比如weblogic,hibernate等等,解决办法就是删掉他们 ,只留一个。如果工程里的库太多以ant为目标搜索一下。

2.Cannot use SUN rmic, as it is not available. A common solution is to set the environment variable JAVA_HOME or CLASSPATH.".
这是因为ant中有<rmic>任务时,他会调用JAVA_HOME/lib下的jar,而一般eclipse只会包含jre下的库,解决办法把所有JAVA_HOME/lib下的jar导入工程(其实只要一个tool.jar)。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值