在无头模式下运行Eclipse时禁用错误消息对话框



我试图在构建过程中通过无头Eclipse执行junit测试。使用以下命令从Ant脚本调用单元测试:

eclipsec.exe -noSplash -application org.eclipse.ant.core.antRunner -data "C:SomeDirectory" -buildfile "C:PathTotests.xml"

这工作得很好,除非Ant脚本由于任何原因(由于单元测试失败,或者由于单元测试在上游抛出异常而通过显式任务失败)需要失败。在任何一种情况下,eclipsec都会弹出一个对话框,报告"发生了错误"。这伴随着一个例外。堆栈跟踪的顶部,如果它是相关的,是:

java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.ant.core.AntRunner.run(AntRunner.java:513)
    at org.eclipse.ant.core.AntRunner.start(AntRunner.java:600)

我真的不关心Ant脚本或Eclipse失败的原因——这就是日志记录的原因——但是与它一起弹出的对话框是不可接受的,因为它会挂起我们的持续集成系统,同时等待看不见的用户来点击它。

是否有任何方法可以抑制此对话框?是否有任何方法我可以围绕这个对话框,不需要一个真正的用户来响应它?

额外的信息:

Eclipse版本:Indigo(截至昨天的最新版本)。内部的Ant和JUnit

Java Version: JDK 6.0_30 32bit

操作系统:Windows (7 and Server 2003)

如果您正在使用ErrorDialog的子类,则可以将静态的AUTOMATED_MODE设置为true。

显示(请参阅下面的注释)错误来自包装程序exclipsec。看看这里的命令行选项:http://help.eclipse.org/indigo/topic/org.eclipse.platform.doc.isv/reference/misc/runtime-options.html指定——launcher。命令行中的suppresserror将避免此对话框(注意双破折号)。

相关内容

  • 没有找到相关文章

最新更新