【问题标题】:Where does ANT output compiler errors?ANT 在哪里输出编译器错误?
【发布时间】:2014-01-21 15:28:47
【问题描述】:

我一直在开发 PhoneGap 应用程序并使用 ANT 通过控制台进行编译。我收到一个 java 错误,说我可以在编译器错误输出中看到详细信息。但是......我不知道输出的位置。

真的有我可以查看的输出文件吗?我尝试在没有任何额外帮助的情况下使用“-d”进行调试模式。

谢谢。

更新(控制台输出):

构建失败 C:\android-sdk\sdk\tools\ant\build.xml:601:e 时出现以下错误 执行这一行: C:\android-sdk\sdk\tools\ant\build.xml:720:e 时出现以下错误 执行这一行: C:\android-sdk\sdk\tools\ant\build.xml:734:编译失败;查看编译器错误 或输出以获取详细信息。

【问题讨论】:

  • 如果你在控制台窗口中调用ant,输出应该在控制台窗口中。
  • 似乎没有。 (用我所看到的更新问题)

标签: java cordova ant


【解决方案1】:

您可以通过多种方式执行此操作,输出通常会发送到您的控制台,因此您可以

ant task > output.log

然后跟踪日志。或者更好的是,您可以在执行 ant 时使用 logfile 选项

-logfile <file>        use given file for log

【讨论】:

  • 这会显示细节还是只是复制我已经在控制台中看到的内容?
  • 对不起,这将显示与控制台相同。不过,我通常将编译错误视为 ant 输出的一部分,你不知道吗?你是直接从命令行调用ant吗?
  • 我通过 phonegap build 调用它
  • 我的猜测是 phonegap 正在设置一些道具或重定向输出。抱歉,我无法提供更多帮助。 :(
【解决方案2】:

你的问题的答案

ANT 在哪里输出编译器错误?

是 ant 将编译器错误输出到标准输出 (STDOUT) 或标准错误 (STDERR) 流。

我不能告诉你这些是什么意思。通常,如果从 shell 调用,STDOUT 和 STDERR 会转到控制台窗口。如果您看到常规输出,但没有看到错误,则表明它正在被重定向到其他地方。

我很好奇你是否真的直接执行ant,或者是某种可以转身执行ant的包装器/工具。如果是后者,包装器可能会改变输出的去向。

【讨论】: