1

我有一个复杂的构建系统,涉及许多 ant 脚本,其中一些目标调用 javac 任务。

这些 ant 脚本不提供从 javac 请求调试构建的方法,即既未指定 javac 任务的 debug 参数也未指定 debuglevel 参数。

是否仍然可以指示 javac 在不更改构建脚本本身的情况下使用调试支持进行构建?

这些脚本是从控制台调用的。

4

2 回答 2

0

不幸的是,简短的回答是否定的:(

于 2012-11-29T15:45:27.750 回答
0

Ant 脚本是否javac通过调用外部可执行文件来调用,即是fork=true?如果是这样,您可以尝试javac$PATH. 像这样的工具strace可以准确地告诉你是如何javac被调用的。

在 Unix 上,它可能看起来像这样:

echo '#!/bin/bash
exec /usr/bin/javac -g "${@}"' > ./javac
chmod +x javac
PATH=".:${PATH}" ant build

如果 Ant 正在进程内调用 Java 编译器,您可以制作一个javac默认打开调试的 Ant 任务类的编辑版本,并在调用 Ant 时将其放在类路径中的官方 Ant jar 之前。

于 2012-11-29T17:02:17.917 回答