【问题标题】:Exception in thread "main" java.awt.HeadlessException: No X11 DISPLAY线程“主”java.awt.HeadlessException 中的异常:没有 X11 显示
【发布时间】:2016-12-27 00:22:04
【问题描述】:

我想在 Solaris 上运行过去在 Windows 服务器上运行的 java 小程序。

命令行就像(在windows下):

java.exe -cp file.jar  xx.yy.applet param1 param2 param3

在 Windows 下: 1) 当这个小程序按照上述语法执行时,由于在命令行中设置了参数(这是命令模式),所以不显示任何 GUI。 2) 如果没有给定参数,则在屏幕上显示一个图形用户界面,允许用户手动输入参数(这是图形用户界面模式)。

在solaris下我尝试通过运行程序来使用命令模式:

$JAVA_HOME/bin/java -cp file.jar  xx.yy.applet param1 param2 param3

但系统抛出错误:

线程“主”java.awt.HeadlessException 中的异常:没有 X11 显示 变量被设置了,但是这个程序执行了一个操作 需要它。在 java.applet.Applet.(Applet.java:67) 在 javax.swing.JApplet.(JApplet.java:130) 在 .......

注意: 我对使用 GUI 模式不感兴趣,只想在命令模式下运行小程序。 我正在开发 Java 7。

【问题讨论】:

  • 我认为它可能需要无头属性集,即-Djava.awt.headless=true。试试看。

标签: java


【解决方案1】:

这就是我在命令行中添加 -Djava.awt.headless=true 时得到的结果: $JAVA_HOME/bin/java -Djava.awt.headless=true -cp file.jar xx.yy.applet param1 param2 param3

Exception in thread "main" java.awt.HeadlessException
at java.applet.Applet.<init>(Applet.java:67)
at javax.swing.JApplet.<init>(JApplet.java:130)
at ..

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 2020-01-22
    • 1970-01-01
    • 2015-08-30
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多