在哈德森的junit失败 - swterror - 更多处理

时间:2013-12-06 22:53:51

标签: java junit swt eclipse-rcp hudson

我正在尝试在hudson服务器中构建我的UI项目。我在哈德森遇到了junit失败。当我在本地构建项目时,构建成功。我正在努力执行干净并在Hudson中部署目标(maven 2.2.1)。

Hudson中的错误消息:

错误消息 没有更多的处理 堆栈跟踪     在org.eclipse.swt.SWT.error(SWT.java:4308)     在org.eclipse.swt.SWT.error(SWT.java:4197)     在org.eclipse.swt.SWT.error(SWT.java:4168)     在org.eclipse.swt.widgets.Widget.error(Widget.java:468)     在org.eclipse.swt.widgets.Control.createHandle(Control.java:704)     在org.eclipse.swt.widgets.Label.createHandle(Label.java:199)     在org.eclipse.swt.widgets.Control.createWidget(Control.java:744)     在org.eclipse.swt.widgets.Control。(Control.java:112)     在org.eclipse.swt.widgets.Label。(Label.java:101)     在com.cerner.revenuecycle.ui.common.themes.Components.createLabel(Components.java:161)     在com.cerner.financials.ui.chargeentry.internal.anesthesia.AnesthesiaComposite.renderCalculationGroup(AnesthesiaComposite.java:627)     在com.cerner.financials.ui.chargeentry.internal.anesthesia.AnesthesiaComposite.renderRightComposite(AnesthesiaComposite.java:487)     在com.cerner.financials.ui.chargeentry.internal.anesthesia.AnesthesiaComposite.render(AnesthesiaComposite.java:253)     at com.cerner.financials.ui.chargeentry.internal.anesthesia.AnesthesiaComposite。(AnesthesiaComposite.java:174)     at com.cerner.financials.ui.chargeentry.internal.anesthesia.AnesthesiaCompositeTest.setUp(AnesthesiaCompositeTest.java:98)     在com.cerner.engineering.pde.test.EclipseTestRunner.run(EclipseTestRunner.java:313)     在com.cerner.engineering.pde.test.MultiTestRunnerApplication.runOneTest(MultiTestRunnerApplication.java:191)     在com.cerner.engineering.pde.test.MultiTestRunnerApplication.runTests(MultiTestRunnerApplication.java:138)     在com.cerner.engineering.pde.test.MultiTestRunnerApplication.run(MultiTestRunnerApplication.java:37)     在org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587)     在org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198)     在org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)     在org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)     在org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)     在org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)     在org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)     在org.eclipse.core.launcher.Main.basicRun(Main.java:280)     在org.eclipse.core.launcher.Main.run(Main.java:977)     在org.eclipse.core.launcher.Main.main(Main.java:952)

我搜索了很多内容并找到了人们遇到同样问题的链接。有人建议在Hudson服务器上启用“在运行时运行XVnc”。但我的Hudson服务器运行Windows Server 2008.我不认为,我将需要Vnc。请帮我解决这个问题。谢谢。

1 个答案:

答案 0 :(得分:1)

假设您的JUnit-Test正在设置一个UI,该UI创建的UI元素(=句柄)比您的服务器可以处理的多,那么有两种方法可以解决您的问题:

  1. 照顾小部件的处理:这是一般规则 如果你创建一个小部件,你就可以处理它 (处置方法)。
  2. 增加Windows Server的句柄限制 2008年可以画出来。由于我不熟悉Windows Server 2008,我是 无法告诉您必须修改哪个注册表项。 Windows通常对整个处理和每个进程都有限制。