如何在不更改ant脚本的情况下从javac请求调试构建?

如何在不更改ant脚本的情况下从javac请求调试构建?,ant,javac,Ant,Javac,我有一个复杂的构建系统,涉及许多ant脚本,其中一些目标调用javac任务 这些ant脚本不提供从javac请求调试构建的方法,即既不指定javac任务的调试参数,也不指定调试级别参数 是否仍然可以指示javac在不更改构建脚本的情况下使用调试支持进行构建 脚本是从控制台调用的。很遗憾,简短的回答是否定的:Ant脚本是通过调用外部可执行文件来调用javac的吗?如果是这样,您可以尝试将名为javac的包装器脚本放在$PATH的前面。像这样的工具可以准确地显示javac是如何被调用的 在Unix上

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

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

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


脚本是从控制台调用的。

很遗憾,简短的回答是否定的:

Ant脚本是通过调用外部可执行文件来调用javac的吗?如果是这样,您可以尝试将名为javac的包装器脚本放在$PATH的前面。像这样的工具可以准确地显示javac是如何被调用的

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

echo '#!/bin/bash
exec /usr/bin/javac -g "${@}"' > ./javac
chmod +x javac
PATH=".:${PATH}" ant build
如果Ant正在调用Java编译器的进程中,您可以创建Ant的javac任务类的编辑版本,默认情况下启用调试,并在调用Ant时将其放在类路径中的Ant jar之前