이것은 java.awt.HeadlessException - 애플릿이 표시되지 않는 질문과 관련되어있다. java.awt.HeadlessException - Applet not displayedjava.awt.HeadlessException - 애플릿이 표시되지 않는다. - 제 2 부
tomcat의 startup.sh 파일에 "export DISPLAY = : 0.0"을 추가 한 후 HeadlessException이 사라졌습니다. 이제 코드의 일부는 별도의 서버 인 배치 서버에서 실행됩니다. 코드가 배치 서버에서 호출 될 때 동일한 HeadlessException이 발생합니다. 배치 서버의 시작 파일에 같은 "export DISPLAY = : 0.0"을 추가하면 예외가 없어졌지만 배치 서버에서 실행중인 다른 (Java가 아닌) 응용 프로그램에 문제가 발생했습니다. 다른 응용 프로그램에서 작동하는 디스플레이를 재정의하기 때문일 수 있습니다.
다음으로 JAVA_OPTS = "- Djava.awt.headless = true"를 배치 서버의 시작 파일로 내 보냈지만 작동하지 않았습니다. 나는 썬의 다음 링크에서 코드가 헤드리스 예외를 검사해야한다고 말한 것을 보았습니다.
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
}