eclipse中的ant调试

我想知道使用eclipse的ANT的调试function。 基本上我有一个由同事编写的ANT构建脚本,我想逐步浏览每个目标,看看被称为的各种任务是什么。

您可以使用以下步骤在Eclipse中执行此操作:

  1. 确保在ANT编辑器中打开构建文件(右键单击构建文件 – >使用 – > Ant编辑器打开)。
  2. 双击构建文件左边缘中要断点的位置。
  3. 打开Ant视图(Window – > Show view – > Ant)。
  4. 如果构建文件不在视图中,那么您只需添加它即可。
  5. 添加后,右键单击要运行的ant目标,然后选择Debug as – > Ant build
  6. Debug透视图应该打开,进程应该在您可以单步执行的断点处停止
  7. 有时需要在调试时设置参数。 可以通过选择:Debug as – > Ant build来设置它。 然后需要选择Arguments。 然后可以输入值为:-Dprop.name =属性值

由于ant只是一个Java应用程序,因此您只需将调试配置(类型为Java Application)添加到eclipse即可。 有关如何调用Ant的信息,请参阅通过Java运行Ant,就好像它是Java应用程序一样。 我假设你知道如何在Eclipse中调试Java应用程序,所以这应该让你完成其余的工作。 如果没有,请问我会扩展这个。

对于大型ant文件或大型java项目,当我们可能有多个ant文件相互调用时,我发现依赖图非常有用。 我已将Grand用于此目的。

当然,如果您想调试特定目标内的指令序列,这将无济于事。

创建一个脚本antdebug.sh ,它在启动ant之前设置环境变量ANT_OPTS

 #!/bin/bash set -e export ANT_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=2607" # now execute ant exec ant "$@" 

然后,您可以使用IDE远程连接到它。 请注意suspend=y ,它会暂停执行,直到你被连接。

在深入研究Ant内部之前,尝试使用-d(调试)标志运行脚本并观察输出可能是值得的。 假设您有兴趣了解特定Ant脚本是如何工作(或不工作)而不是Ant本身。

如果Ant是您感兴趣的领域,上面的答案是要遵循的方向。

在目标init之后将以下xml标记添加到ant build.xml

  

如果javac已经存在,请确保添加debug="true" debuglevel="lines,vars,source"以进行交互式调试会话。