【发布时间】:2011-03-16 21:25:14
【问题描述】:
我们需要在tomcat的启动文件和批处理服务器的启动文件中添加export DISPLAY=:0.0。这是为了让 java 在 Unix 上看到 X11 Display 库并运行我们的小程序。如果启动文件中没有此导出,则小程序会引发 Headless Exception。
虽然这种显式导出使 java 小程序运行,但它会破坏服务器上运行的其他应用程序。有没有办法让这个export DISPLAY=:0.0 在java 代码中运行,而不是将它添加到启动文件中?如果可能的话,这会是一个好方法吗?
我已经尝试将系统属性设置为 -Djava.awt.headless=true ,但没有成功。正如上面给出的链接http://java.sun.com/developer/technicalArticles/J2SE/Desktop/headless/ 还说设置headless=true 仅适用于Canvas、Panel 等少数组件,但不适用于顶级组件。
所以我觉得留给我的唯一选择是使用export DISPLAY=:0.0。这使我的小程序在启动文件中设置时可以工作,但会导致服务器中运行的其他应用程序出现问题。因此,如果有人可以帮助我使export DISPLAY=:0.0 工作,使其不会干扰服务器中的其他应用程序。我认为的一种方法是通过代码导出显示。
任何帮助将不胜感激。
【问题讨论】:
-
它是您在服务器上运行的小程序,还是需要 X11 库(例如用于图像处理或其他用途)的 servlet?
标签: java