gpt4 book ai didi

java - 获取 "No X11 DISPLAY variable was set, but this program performed an operation which requires it."

转载 作者:行者123 更新时间:2023-11-30 02:42:26 24 4
gpt4 key购买 nike

我正在通过 jenkins 集成在 AWS 上运行测试,此测试需要上传文件,并且要上传文件,会打开上传(文件资源管理器)窗口,这会触发错误

<小时/>

[java] [信息] [2:53:49PM] 线程 1 (TestMethodRunner.java:188) - [java] 未设置 X11 DISPLAY 变量,但该程序执行了需要它的操作。 [java] [信息] [2:53:49PM] Thread-1 (TestMethodRunner.java:189) - java.awt.HeadlessException: [java] 未设置 X11 DISPLAY 变量,但该程序执行了需要它的操作。 [java] 在 sun.awt.HeadlessToolkit.getSystemClipboard(HeadlessToolkit.java:307) [java] 在 com.proquest.apps.etd.pqaf.layer.FileUploadWindow.uploadingFile(FileUploadWindow.java:50) [java] 在 com.proquest.apps.etd.regression.tests.SmokeTest.smokeTest(SmokeTest.java:100) [java] 在 sun.reflect.NativeMethodAccessorImpl.invoke0( native 方法) [java] 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [java] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [java] 在 java.lang.reflect.Method.invoke(Method.java:606) [java] 在 org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) [java] 在 org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) [java] 在 org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) [java] 在 org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) [java] 在 org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) [java] 在 org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) [java] 在 org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47) [java] 在 org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47) [java] 在 org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47) [java] 在 org.junit.rules.RunRules.evaluate(RunRules.java:18) [java] 在 org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) [java] 在 org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) [java] 在 org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) [java] 在 org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) [java] 在 org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) [java] 在 org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) [java] 在 org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) [java] 在 org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) [java] 在 org.junit.runners.ParentRunner.run(ParentRunner.java:300) [java] 在 org.junit.runner.JUnitCore.run(JUnitCore.java:157) [java] 在 org.junit.runner.JUnitCore.run(JUnitCore.java:136) [java] 在 com.proquest.testing.TestMethodRunner.runUnitTest(TestMethodRunner.java:194) [java] 在 com.proquest.testing.TestMethodRunner.run(TestMethodRunner.java:62) [java] 在 com.proquest.testing.SimpleThread.run(SimpleThread.java:13)

<小时/>
  1. 如何解决这个错误,我无法使用putty启用X11,测试是通过Jenkins运行的,测试每天都会在预定的时间自动执行,所以我必须使其动态化?
  2. 是否存在可以使用的“未设置 X11 DISPLAY 变量且 headless 异常”的 ivy 依赖项。

最佳答案

如果您的构建需要 X11 访问,您将需要使用虚拟帧缓冲区包装您的 jenkins 构建。 Jenkins 有一个可用的插件可以帮助解决这个问题,名为 Xvfb .

然后您需要让 Jenkins 知道使用这个新的显示来进行测试。

示例:

导出 DISPLAY=:1.0

其中 1.0 是虚拟 X 窗口的名称。

关于java - 获取 "No X11 DISPLAY variable was set, but this program performed an operation which requires it.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41251471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com