这与问题java.awt.HeadlessException有关-未显示小程序。java.awt.HeadlessException - Applet not displayed
在我在tomcat的startup.sh文件中添加了“HeadlessException DISPLAY=:0.0”之后,导出就消失了。现在,部分代码在一个批处理服务器上运行,批处理服务器是一个独立的服务器。在批处理服务器上调用代码时,会出现相同的HeadlessException。这可能是因为我们覆盖了为其他应用程序工作的显示。
接下来,我将JAVA_OPTS="-Djava.awt.headless=true“导出到批处理服务器的启动文件中,但它不起作用。我看到下面来自Sun的链接说代码应该检查headless异常。
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
}发布于 2009-02-04 04:52:22
您可以捕获该异常,也可以通过先进行检查来避免该异常:
if (! java.awt.GraphicsEnvironment.isHeadless()) {
// code that throws headless exception
} else {
log.info("Skipping GUI portion")
}不要在服务器上设置没有人会查看的显示,否则您可能会永远等待别人在没有人看到的对话框中单击OK。
https://stackoverflow.com/questions/508733
复制相似问题