java의 java.awt패키지는 이미지처리시 운영체제의 자원을 사용한다.

윈도우즈의 경우에는 아무설정을 해주지 않아도 잘돌아가지만(그래서 어떤방식인지는 아직 잘모르겠다.)

유닉스나 리눅스 시스템 환경에서는 X11이라는 흔히 말하는 X-window가 설치되어있고 데몬이 구동되고 있을시에

패키지사용이 가능하다.

보통 웹상에서 JSP & SERVLET을 이용 이미지 썸네일을 구현할시에 여러가지 방식이 있겠지만

나는 JAI를 사용한다.

JAI(Java Advanced Imaging ) 는 SUN에서 발표한 이미지 처리를 위해 만들어 진 API이다.

필요한 jar파일은 jai_core.jar, jai_codec.jar가 필요하다.(sun 홈피에서 다운받을수 있다.)

JAI또한 내부에선 java.awt.를 사용한다.

대략적인 설명을 마치고

================================================================================================

어제부터 썸네일 생성시 에러가 나면서 로그파일에

java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment
 at java.lang.Class.forName1(Native Method)
 at java.lang.Class.forName(Class.java(Compiled Code))
 at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:91)
 at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1073)
 at com.nowonplay.hover.image.ImageConverter.create(ImageConverter.java:295)
 at com.nowonplay.hover.image.ImageConverter.create(ImageConverter.java:254)
 at com.nacf.util.ImageUtil.createThumbnail(ImageUtil.java:32)
 at jeus_jspwork._media._vodRrcCenter._photo._403_write._jspService(_403_write.java:346)
 at jeus.servlet.jsp.HttpJspBase.service(HttpJspBase.java:54)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:269)
 at jeus.servlet.jsp.JspServletWrapper.executeServlet(JspServletWrapper.java:102)
 at jeus.servlet.jsp.JspServletWrapper.execute(JspServletWrapper.java:63)
 at jeus.servlet.engine.WebtobRequestProcessor.run(WebtobRequestProcessor.java:175)
[2008.08.28 12:25:28][1] [SRVL-2456] [E] (/media/vodRrcCenter/photo/write.jsp) fail to execute servlet

이러한 메세지가 남아있다..

검색해보니 X11자원을 찾기 못하는것 같았다..아니면 설치되어 있지 않던가.

첫번째 방법은 일단 X11이 설치되어 있지 않다면 설치해야한다.

설치가 되어있는 상태라면 웹서버의 설정파일에서

jvm구동 옵션에 -Djava.awt.headless=true 을 포함해서 웹서버를 재시작 하면 X11데몬을 띄우지 않고

X11의 자원을 사용할 수 있다.


신고
블로그 이미지

웹오피스 개발자 피스티스

사이냅소프트에서 웹오피스를 개발하고 있습니다.

티스토리 툴바