【问题标题】:ant debugging in eclipseeclipse中的ant调试
【发布时间】:2011-03-03 16:01:06
【问题描述】:

我想了解 ANT 使用 eclipse 的调试能力。基本上 我有一个同事编写的 ANT 构建脚本,我想一步 通过每个目标,看看存在的各种任务是什么 调用。

【问题讨论】:

标签: java eclipse ant


【解决方案1】:

您可以通过以下步骤在 Eclipse 中执行此操作:

  1. 确保在 ANT 编辑器(右键单击构建 文件 -> 打开方式 -> Ant 编辑器)。
  2. 双击左边距 您想要的构建文件 断点。
  3. 打开 Ant 视图(窗口 -> 显示 查看 -> 蚂蚁)。
  4. 如果构建文件不在视图中 那么你可以简单地添加它。
  5. 添加后右键单击蚂蚁 要运行的目标并选择 Debug as -> 蚂蚁构建
  6. Debug 透视图应该打开 并且该过程应该停止在您的 可以单步执行的断点 通过它
  7. 有时需要在调试时设置参数。可以通过选择:Debug as -> Ant build 来设置。然后需要选择Arguments。然后可以将值输入为:-Dprop.name=property value

【讨论】:

    【解决方案2】:

    创建一个脚本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,它会暂停执行直到你被附加。

    【讨论】:

      【解决方案3】:

      由于 ant 只是一个 Java 应用程序,您只需在 eclipse 中添加一个调试配置(类型为 Java 应用程序)即可。请参阅Running Ant via Java,了解如何像调用 Java 应用程序一样调用 Ant。我假设您知道如何在 Eclipse 中调试 Java 应用程序,这样您就可以完成剩下的工作。如果没有,请询​​问,我将对此进行扩展。

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

            【解决方案6】:

            在目标初始化后将下面的xml标签添加到ant build.xml

            <javac srcdir="${src.java.dir}" destdir="${target.build.dir}" includeantruntime="true" source="${source}" target="${target}" debug="true" debuglevel="lines,vars,source" classpathref="main.classpath" fork="true" memoryinitialsize="512m" memorymaximumsize="512m" />
            

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

            【讨论】:

              猜你喜欢
              • 2013-03-01
              • 2012-01-17
              • 2012-01-24
              • 2023-03-15
              • 2013-03-14
              • 2012-04-06
              • 2011-06-10
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多