当通过Ant任务运行javac时,如何查看编译器输出?

当通过Ant任务运行javac时,如何查看编译器输出?,java,ant,output,javac,Java,Ant,Output,Javac,在通过任务运行javac时,是否有任何解释清楚且简单的方法来查看编译器输出 这是我的javacAnt标签: 以下是我收到的唯一错误消息: /path/to/build.xml:42:编译失败;有关详细信息,请参阅编译器错误输出。 问题是我不知道如何查看编译器错误输出的详细信息 可能有帮助的几个配置元素: 蚂蚁1.6.5 Windows 7 x64 Java 1.6.0_20 x32 通过Eclipse启动目标 我知道有一些相关的问题得到了回答,但没有一个真正回答了这个简单的问题:

在通过任务运行
javac
时,是否有任何解释清楚且简单的方法来查看编译器输出

这是我的
javac
Ant标签:


以下是我收到的唯一错误消息:

/path/to/build.xml:42:编译失败;有关详细信息,请参阅编译器错误输出。
问题是我不知道如何查看编译器错误输出的详细信息


可能有帮助的几个配置元素:

  • 蚂蚁1.6.5
  • Windows 7 x64
  • Java 1.6.0_20 x32
  • 通过Eclipse启动目标

我知道有一些相关的问题得到了回答,但没有一个真正回答了这个简单的问题:

  • :我无法添加允许
    compile
    标记的特定库
  • :它管理Ant的输出,而不是编译器的输出
  • :太模糊,无法解决任何问题
  • :没有回答
  • 等等

您应该添加属性


我想您正在寻找
verbose=“true”
属性

要求编译器提供详细的输出;默认为否

您已经在评论中提到,这不会打印错误的原因。我想在你的情况下还有别的事情发生。我有一个样本项目,无论哪种方式,我的错误的原因是打印出来的。下面是带有
verbose=“false”
的输出:

某些奇怪且特定于代码的东西导致了错误消息。您能否创建一个复制错误的示例项目


正如您所提到的,
debug=“true”
不是您要查找的属性

指示是否应使用调试信息编译源;默认为关闭。如果设置为off,-g:none将在支持它的编译器的命令行上传递(对于其他编译器,将不使用命令行参数)。如果设置为true,则debuglevel属性的值确定命令行参数

你知道当你得到堆栈跟踪,它有行号吗?这就是
debug=“true”
所做的。如果它关闭,你就得不到行号

用这个

<javac srcdir="src" destdir="build/classes" debug="true">
            <classpath>
                <path refid="classpath"/>
            </classpath>
</javac>

当java编译器本身无法启动时,问题也会出现。例如,当定义的堆太大时。Intellij的java2任务将显示这些信息

Using external javac compiler
Compilation arguments:
...
'-J-Xmx1600m'
...
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
以及build.xml文件中的原因,在我的例子中:

<property name="compiler.args" value="-J-Xmx1600m"/>


我收到了相同的错误消息,没有进一步的信息。问题是我的一个.jar文件已损坏。替换.jar文件解决了这个问题。

它不会改变任何东西(我已经打开了它)。。。那么编译器的输出应该在哪里?@SotiriosDelimanolis使用
verbose
,Ant的输出更长,但它仍然不会影响编译器的输出…@SotiriosDelimanolis在回答您的评论之前我试过了。@sp00m AFAIK以为您是在假设。我将尝试查找其他内容。您应该尝试在eclipse外部执行ant脚本,看看是否得到不同的输出。在收到错误消息之前,您没有看到
[javac]…
?@sp00m从命令行运行ant时是否看到错误详细信息。我猜问题与eclipse有关,而不是与ant有关。如果您没有看到任何
[javac]
,则可能是
java.lang.OutOfMemoryError:java堆空间
,请参见此处添加
verbose=“true”
?我遇到了同样的问题,使用Eclipse生成build.xml,它只说
somepath/build.xml:34:Compile失败;有关详细信息,请参阅编译器错误输出。
我已将其作为属性添加到唯一的标记中。仍然无法在任何位置看到编译器错误输出。。。
Using external javac compiler
Compilation arguments:
...
'-J-Xmx1600m'
...
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
<property name="compiler.args" value="-J-Xmx1600m"/>