-1

我正在尝试在源启动时运行具有内置 gui 的服务器。我可以弄清楚如何取出它,但无论如何我都想尝试解决它;这是我的错误

Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
            at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)
            at java.awt.Window.<init>(Window.java:535)
            at java.awt.Frame.<init>(Frame.java:420)
            at java.awt.Frame.<init>(Frame.java:385)
            at javax.swing.JFrame.<init>(JFrame.java:180)
            at server.model.controlpanel.ControlPanel.<init>(ControlPanel.java:20)
            at server.Server.<clinit>(Server.java:69)
4

2 回答 2

2

如果您绝对必须将 GUI 代码保留在您的服务器中,那么您可以使用Xvfb来提供一个虚拟 X 服务器,并设置DISPLAY为指向它。但实际上,最好的答案是修改代码,使其不尝试显示 GUI。

于 2013-08-03T17:41:44.017 回答
0

有趣的是,您的代码在检查是否可以使用 X11 时由于缺少 X11 而失败...

我强烈怀疑您安装的 java 版本没有无头(无 X11)支持。

您可能想查看无法使用 ubuntu 运行 java gui 程序

于 2013-08-04T13:51:09.707 回答