這是參考java.awt.HeadlessException問題 - Applet未顯示。 java.awt.HeadlessException - Applet not displayedjava.awt.HeadlessException - Applet不顯示 - 第2部分
在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
}