2011-09-20 5 views
1

Java에서 X11 시스템의 코드 호출을 무시하도록 할 수있는 방법이 있습니까? 나는 창 관리자가없는 서버 컴퓨터에서 응용 프로그램을 실행하고 있습니다. 이 응용 프로그램을 실행할 때 java.awt.HeadlessException이 발생합니다. 나는 이미 -Djava.awt.headless = true/System.setProperty ("java.awt.headless", true)를 설정하려고 시도했다. 불운.Java에서 X11 호출을 무시합니다.

그래픽 시스템과의 상호 작용이 이루어지는 코드 라인을 수동으로 제거해야합니까? 아니면보다 우아한 방법이 있습니까? 고마워. 헤드리스 (headless) 모드에서

+0

당신은 http://www.tightvnc.com/ 같은 가상 윈도우 매니저를 설치할 수 있습니다. 어느 것이 그 문제를 우회 할 것입니까? – oers

+0

나는 그랬다. 그런 다음 VNC 데스크탑과 일치하도록 DISPLAY를 설정했지만 여전히 java.awt.HeadlessException이 발생합니다. – azerIO

+2

바보 같지만 사용중인 JVM 버전은 어리석은 것 같습니다. 버전 1.4까지는 Sun/Oracle JDK에 버그 (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4281163)가있었습니다. 또한 다른 jdk를 사용하고 있습니다. 자체적으로이 버그가없는 것 같습니다. (분명히 Apple JDK는 오랫동안 버그가있었습니다) –

답변

0

를 사용하여 자바 Java headless mode

+1

헤드리스 모드로 최상위 컨테이너를 인스턴스화 할 수 없습니다. – trashgod

+0

유일한 해결책은 수동으로 X11 호출이 이루어지는 모든 장소를 찾아 주석을 달아주는 것입니다. – azerIO

+0

슬랙웨어에 대해서는 모르지만 VNC는 많은 플랫폼에서 작동하며 [while] (http://www.jfree.org/forum/viewtopic.php?f=3&t=1012&hilit=X11+DISPLAY+BufferedImage) . – trashgod