为什么在玻璃鱼上赢得jasper秀?

时间:2016-02-29 08:07:20

标签: java spring-mvc glassfish jasper-reports

我正在开发一个maven spring-mvc应用程序并尝试使用jasper生成报告。 以下代码在我使用jetty

的测试环境中启动时效果很好
    JasperReportBuilder report = DynamicReports.report();//a new report]
    StyleBuilder boldStyle = stl.style().bold(); 
    StyleBuilder boldCenteredStyle = stl.style(boldStyle).setHorizontalAlignment(HorizontalAlignment.CENTER);
       StyleBuilder columnTitleStyle  = stl.style(boldCenteredStyle).setBorder(stl.pen1Point()).setBackgroundColor(Color.LIGHT_GRAY);

    report.setColumnTitleStyle(columnTitleStyle).columns(
          Columns.column("currency", "currency", DataTypes.stringType()),
          Columns.column("abbrevia", "abbrevia", DataTypes.stringType()),
          Columns.column("id", "id", DataTypes.integerType()));
          report.title(Components.text("Transaction Reports").setHorizontalAlignment(HorizontalAlignment.CENTER))
          .pageFooter(Components.pageXofY())//show page number on the page footer
          .setDataSource(currenciesService.findAll());
          System.out.println("evo ga " + currenciesService.findAll());
          try {
              report.show(false);
        JFrame frame = new JFrame("Report");
    frame.getContentPane().add(new JRViewer(report.toJasperPrint()));
    frame.pack();
    frame.setSize(400, 600);
    frame.setVisible(true);

然而,当我将.war文件上传到glassfish时,它并没有做到这一点。

以下是我从glassfish服务器获取的错误消息:

 2016-02-28 17:24:48 [http-listener-1(5)] ERROR c.p.f.e.GlobalExceptionHandler - [URL] : http://[mywebsite]/viewTransactionPage/printReport
java.awt.HeadlessException: null
        at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204) ~[na:1.8.0_66]
        at java.awt.Window.<init>(Window.java:536) ~[na:1.8.0_66]
        at java.awt.Frame.<init>(Frame.java:420) ~[na:1.8.0_66]
        at java.awt.Frame.<init>(Frame.java:385) ~[na:1.8.0_66]
        at javax.swing.JFrame.<init>(JFrame.java:189) ~[na:1.8.0_66]
        at net.sf.jasperreports.view.JasperViewer.<init>(JasperViewer.java:267) ~[jasperreports-6.2.0.jar:6.2.0]
        at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:655) ~[jasperreports-6.2.0.jar:6.2.0]
        at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:587) ~[jasperreports-6.2.0.jar:6.2.0]
        at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:500) ~[jasperreports-6.2.0.jar:6.2.0]
        at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.show(JasperReportBuilder.java:336) ~[dynamicreports-core-4.1.0.jar:na]
        at com.[mywebsite].form.web.ViewTransactionController.printReport(ViewTransactionController.java:97) ~[ViewTransactionController.class:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_66]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_66]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_66]
        at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_66]
        at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) ~[spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) ~[spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) ~[spring-webmvc-$
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776) ~[spring-webmvc$
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705) ~[spring-webmvc-4.1$
        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.1.6.RELEASE.jar:4.1.6$
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) ~[spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) ~[spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) [spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857) [spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) [javax.servlet-api.jar:3.1.0]
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) [spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [javax.servlet-api.jar:3.1.0]
        at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) [web-core.jar:na]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318) [web-core.jar:na]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) [web-core.jar:na]
               at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734) [web-core.jar:na]
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673) [web-core.jar:na]
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99) [web-glue.jar:na]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) [web-core.jar:na]
        at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357) [web-core.jar:na]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260) [web-core.jar:na]
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188) [kernel.jar:na]
        at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564) [nucleus-grizzly-all.jar:na]
        at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544) [nucleus-grizzly-all.jar:na]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_66]]]

我测试了查询和数据库连接,传递得很好。我也正确地在我的pom.xml中添加了依赖项。那么是什么导致了我的问题?

0 个答案:

没有答案