Это относится к вопросу java.awt.HeadlessException - апплет не отображается. java.awt.HeadlessException — апплет не отображается
Исключение HeadlessException исчезло после того, как я добавил «export DISPLAY=:0.0» в файл запуска tomcat.sh. Теперь некоторая часть кода запускается на пакетном сервере, который является отдельным сервером. То же самое 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
}