美好的一天,
我有一个Web应用程序,它有一个模块,允许用户在单击按钮时在excel文件中下载报告。
但是,我遇到了这个错误:
[10/10/13 20:21:48:332 MYT] 00000095 ServletWrappe E com.ibm.ws.webcontainer.servlet.ServletWrapper service Uncaught service() exception thrown by servlet action: java.lang.NoClassDefFoundError: net.sf.jasperreports.engine.util.JRStyledTextParser (initialization failure)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:176)
at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:121)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:88)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:103)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:61)
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:153)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:82)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:969)
at com.cv.report.service.impl.ReportServiceImpl.getReport(ReportServiceImpl.java:101)
at com.cv.report.service.core.AbstractReportExporter.getReport(AbstractReportExporter.java:69)
at com.cv.report.service.impl.ExcelExporter.exportAsByte(ExcelExporter.java:120)
at com.cv.report.service.core.AbstractReportExporter.export(AbstractReportExporter.java:53)
at com.cv.report.service.impl.ExcelExporter.export(ExcelExporter.java:82)
at com.cv.report.service.impl.ReportService.export(ReportService.java:53)
at com.cv.ibs.ccweb.report.ReportLastSuccessfulSignOnDateAction.performExport(ReportLastSuccessfulSignOnDateAction.java:121)
at com.cv.ibs.ccweb.report.ReportAction.executeOther(ReportAction.java:62)
at com.cv.ibs.ccweb.BaseAction.execute(BaseAction.java:487)
at com.cv.ibs.ccweb.report.ReportAction.execute(ReportAction.java:88)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:465)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1422)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:505)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:575)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1227)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:776)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:458)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1032)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3761)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:976)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1784)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1862)
我尝试从互联网上搜索,但主要谈论我的课程路径问题中缺少jar文件。 我在我的环境中检查了我的文件,我认为我的jar文件应该是正确的,以下是那些jar文件:
我正在使用带有Struts框架的RAD 8.5.5。在此之前,我正在使用RAD 7.0中的同一个Web应用程序。
RAD 7.0可以正常使用按钮在excel文件中下载报告。但是,当我转移到RAD 8.5.5时,我遇到了这个错误。
如果我提供错误的信息,请告诉我。
请告知。
答案 0 :(得分:1)
这可能是因为无法加载AWT类(JRStyledTextParser的静态init执行GraphicsEnvironment.getLocalGraphicsEnvironment())。
将-Djava.awt.headless = true添加到服务器Java进程以确认或确认这可能的原因。