我在 HP Unix 上使用 Tomcat 5.5.23、JDK 1.5。我们有一个应用程序,当从 tomcat 调用时,它会启动一个小程序。在 JDK 1.4 之前它都运行良好。但现在我们已经迁移到 JDK 1.5,并且小程序无法启动。抛出的异常是 - java.awt.HeadlessException: 未设置 X11 DISPLAY 变量,但该程序执行了需要它的操作。
然后我将 JAVA_OPTS="-Djava.awt.headless=true"添加到 catalina.sh 文件中。但我仍然遇到相同的 Headless 异常,但这次没有 X11 Display 消息。
如有任何帮助,我们将不胜感激。
最佳答案
奇怪..你试图在tomcat中运行一个applet(我假设你正在谈论java.awt.Applet的子类)?一般来说,这不起作用,因为没有显示器可以显示小程序。
假设您不希望小程序在任何地方显示,而只想以编程方式执行它的某些部分,则可以使用虚拟 X 服务器(例如 Xvfb 或 Xvnc)来实现。一旦您在运行 tomcat 的主机上运行了 Xvfb 或 Xvnc,您可以尝试在 tomcat 启动脚本中设置 DISPLAY 以使用虚拟 X 服务器的显示。
关于java.awt.HeadlessException - 小程序未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50625935/