这是参考问题 java.awt.HeadlessException - Applet not displayed。 java.awt.HeadlessException - Applet 未显示
在我在 tomcat 的 startup.sh 文件中添加“export DISPLAY=:0.0”后,HeadlessException 消失了。现在,部分代码在作为单独服务器的批处理服务器上运行。在批处理服务器上调用代码时会发生相同的 HeadlessException。当我在批处理服务器的启动文件中添加相同的“export DISPLAY=:0.0”时,异常消失了,但它给批处理服务器上运行的其他(非 java)应用程序带来了问题。这可能是因为我们正在覆盖正在为其他应用程序工作的显示。
接下来我将 JAVA_OPTS="-Djava.awt.headless=true" 导出到批处理服务器的启动文件,但它不起作用。我看到 Sun 的以下链接说代码应该检查无头异常。
http://java.sun.com/j2se/1.4.2/docs/guide/awt/AWTChanges.html
那么捕获无头异常会使其工作吗?喜欢:
try {
//Code that throws headless exception
} catch (HeadlessException e) {
printStacktrace(); //basically do nothing
}