문제 : 이하의 에러가 발생


java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
 at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
 at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:139)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Class.java:141)
 at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62)
 at sun.awt.motif.MToolkit.(MToolkit.java:88)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Class.java:141)
 at java.awt.Toolkit$2.run(Toolkit.java:749)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:740)
 at javax.swing.ImageIcon.(ImageIcon.java:81)
 at javax.swing.ImageIcon.(ImageIcon.java:107)
 at ssy.al.com.file.cmd.ImageFileMobileCmd.makeFixImage(ImageFileMobileCmd.java:176)
 at ssy.al.com.file.cmd.ImageFileMobileCmd.execute(ImageFileMobileCmd.java:79)
 at ssy.al.com.sso.cmd.RetrievePhotoCmd.execute(RetrievePhotoCmd.java:70)
 at laf.foundation.front.channel.LCommandEngine.processCommand(LCommandEngine.java:106)
 at laf.foundation.front.channel.LCommandEngine.executeCommand(LCommandEngine.java:74)
 at laf.foundation.front.channel.LAbstractServlet.process(LAbstractServlet.java:191)
 at ssy.framework.foundation.servlet.GeneralServlet.catchService(GeneralServlet.java:43)
 at laf.foundation.front.channel.LAbstractServlet.doGet(LAbstractServlet.java:80)
 at javax.servlet.http.HttpServlet.service(Unknown Source)
 at javax.servlet.http.HttpServlet.service(Unknown Source)
 at jeus.servlet.engine.ServletWrapper.executeServlet(ServletWrapper.java:313)
 at jeus.servlet.filter2.FilterChainImpl.internalDoFilter(FilterChainImpl.java:139)
 at jeus.servlet.filter2.FilterChainImpl.doFilter(FilterChainImpl.java:91)
 at com.gauce.filter.GauceFilter.doFilter(Unknown Source)
 at jeus.servlet.filter2.FilterChainImpl.internalDoFilter(FilterChainImpl.java:122)
 at jeus.servlet.filter2.FilterChainImpl.doFilter(FilterChainImpl.java:91)
 at ssy.al.com.security.AbstractSecurityFilter.doFilter(Unknown Source)
 at jeus.servlet.filter2.FilterChainImpl.internalDoFilter(FilterChainImpl.java:122)
 at jeus.servlet.filter2.FilterChainImpl.doFilter(FilterChainImpl.java:91)
 at ssy.al.com.security.AbstractSecurityFilter.doFilter(Unknown Source)
 at jeus.servlet.filter2.FilterChainImpl.internalDoFilter(FilterChainImpl.java:122)
 at jeus.servlet.filter2.FilterChainImpl.doFilter(FilterChainImpl.java:91)
 at atom.xlog.filter.XLogServletFilter.doFilter(XLogServletFilter.java:40)
 at jeus.servlet.filter2.FilterChainImpl.internalDoFilter(FilterChainImpl.java:122)
 at jeus.servlet.filter2.FilterChainImpl.doFilter(FilterChainImpl.java:91)
 at ssy.al.com.security.RefererUriFilter.doFilter(Unknown Source)
 at jeus.servlet.filter2.FilterChainImpl.internalDoFilter(FilterChainImpl.java:122)
 at jeus.servlet.filter2.FilterChainImpl.doFilter(FilterChainImpl.java:91)
 at ssy.al.com.ipfilter.RouteFilter.doFilter(Unknown Source)
 at jeus.servlet.filter2.FilterChainImpl.internalDoFilter(FilterChainImpl.java:122)
 at jeus.servlet.filter2.FilterChainImpl.doFilter(FilterChainImpl.java:91)
 at ssy.framework.foundation.servlet.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:107)
 at jeus.servlet.filter2.FilterChainImpl.internalDoFilter(FilterChainImpl.java:122)
 at jeus.servlet.filter2.FilterChainImpl.doFilter(FilterChainImpl.java:91)
 at jeus.servlet.engine.ServletWrapper.execute(ServletWrapper.java:196)
 at jeus.servlet.engine.WebtobRequestProcessor.run(WebtobRequestProcessor.java:170)



해결 : 아래와 같이 해결


java 1.4 버전 이상에서는 자바 자체에서 처리 가능하게 할수 있습니다.
리눅스에서 굳이 x-window나 xvf 깔기 귀찮다고 아니면 할줄 모르시는 분들은 간단하게 이문제를 해결하는 방법이 있습니다.
<!--
Note: If true, the system property, java.awt.headless, will be set to true.
This should be used with JDK 1.4+ on servers without graphics cards and
monitors. Otherwise, the property is not set.
-->
<!-- <headless-server>true</headless-server> -->
/WEB-INF/flex/flex-config.xml에서 이부분의 주석을 제거 해주시면 됩니다.
<headless-server>true</headless-server>
그리고 자바 구동시에(톰켓이나 레진) JVM 파라메터를 적는 부분이 있을 것입니다.
레진 같은 경우 걍 뒤에 자바 파라메터 적으면 작동됩니다.
resin start -Djava.awt.headless=true
즉 flex-config에서 headless-server 수정하고 jsp 엔진 구동시에 파라 메터 Djava.awt.headless=true 를 넣어주면 에러없이 잘 해결된다.
톰캣에서 이용할때는 catalina.sh 파일에
CATALINA_OPTS=-Djava.awt.headless=true를 추가하고 재구동하면 된다.

+ Recent posts