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