【问题标题】:Encountered with "java.awt.HeadlessException: No X11 DISPLAY variable was set, but this program performed an operation which requires it." [closed]遇到“java.awt.HeadlessException:未设置 X11 DISPLAY 变量,但该程序执行了需要它的操作。” [关闭]
【发布时间】:2020-10-23 11:53:14
【问题描述】:

当我试图运行一个非常简单的程序时发生了这个问题。详情如下:

    Caused by: java.awt.HeadlessException:
    No X11 DISPLAY variable was set,
    but this program performed an operation which requires it.
            at java.desktop/java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:165)
            at java.desktop/java.awt.Window.<init>(Window.java:540)
            at java.desktop/java.awt.Frame.<init>(Frame.java:423)
            at java.desktop/java.awt.Frame.<init>(Frame.java:388)
            at java.desktop/javax.swing.JFrame.<init>(JFrame.java:180)
            at StdDraw.init(StdDraw.java:669)
            at StdDraw.<clinit>(StdDraw.java:632)
            ... 1 more

我的 OpenJDK 版本是“14.0.1” 2020-04-14

【问题讨论】:

标签: java ubuntu


【解决方案1】:

我假设您正在运行 Linux 或至少某种形式的 Unix。该错误表明没有 X11 显示。要么系统是“无头”,即没有 GUI,甚至没有监视器,要么您没有正确设置 X11。

现在,如果您不想在此系统上使用 GUI,那么您的 java 代码中的 something 正在调用 SWING 组件。 SWING 建立在较旧的 AWT 之上,这就是您在上面的堆栈跟踪中看到两者的原因。

假设您有源代码,请逐步通过调试器找到有问题的代码行并将其删除。 或者你需要在你的 Linux 系统上设置一个 GUI。

【讨论】:

    猜你喜欢
    • 2020-04-27
    • 2017-05-06
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    相关资源
    最近更新 更多