- 현상 : i-AUD 보고서 (주로 MX-Grid 사용) 조회 시 500에러 발생
- 조치 방법 : WAS 서버 JVM 옵션에 -DJAVA.AWT.HEADLESS=TRUE 추가
- 로그 메시지 예 (WAS 로그):
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1181)
at java.awt.image.BufferedImage.getGraphics(BufferedImage.java:1170)
at com.aspose.cells.b.a.b.y.a(Unknown Source)
at com.aspose.cells.a.b.l5b.c(Unknown Source)
at com.aspose.cells.a.b.l5b.b(Unknown Source)
at com.aspose.cells.u95.a(Unknown Source)
at com.aspose.cells.CellsHelper.getDPI(Unknown Source)
at com.aspose.cells.v8c.a(Unknown Source)
at com.aspose.cells.WorksheetCollection.X(Unknown Source)
at com.aspose.cells.WorksheetCollection.d(Unknown Source)
at com.aspose.cells.WorksheetCollection.<init>(Unknown Source)
at com.aspose.cells.Workbook.<init>(Unknown Source)
at com.aspose.cells.Workbook.<init>(Unknown Source)
at com.matrix.Excel.Style.asposeFormat.<init>(asposeFormat.java:26)
at com.matrix.Excel.Style.asposeFormat.Instance(asposeFormat.java:54)
at com.matrix.Excel.ValueFormatter.compileFormat(ValueFormatter.java:89)
at com.matrix.Excel.ValueFormatter.getFormatter(ValueFormatter.java:59)
at com.matrix.Excel.Style.FormatStyle.<init>(FormatStyle.java:58)
at com.matrix.Excel.Style.CellStyle.<init>(CellStyle.java:55)
at com.matrix.Excel.Style.Style.CreateCellStyle(Style.java:111)
at com.matrix.Excel.WorkBook.CreateCellStyle(WorkBook.java:881)
at com.matrix.Excel.WorkBook.deserialize(WorkBook.java:1822)
at com.matrix.Excel.WorkBook.CreateWorkBookByJsonFile(WorkBook.java:1727)
at com.matrix.Excel.WorkBook.CreateWorkBookByJsonFile(WorkBook.java:1692)
at com.matrix.services.IGridService.getWorkBook(IGridService.java:727)
at com.matrix.services.IGridService.createWorkBook(IGridService.java:322)
at com.matrix.services.IGridService.Run(IGridService.java:172)
at com.matrix.Data.DataSetServlet.processDataSet(DataSetServlet.java:277)
at com.matrix.Data.DataSetServlet.doPost(DataSetServlet.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
4. 실제 로그 화면