首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/util/JRLoader

java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/util/JRLoader
EN

Stack Overflow用户
提问于 2017-07-27 15:06:32
回答 1查看 7.3K关注 0票数 0

我正试着给甲骨文ADF的jasper report打电话。我已经将以下jar文件包含到类路径中

apache-ant-1.7.1.jar
groovy-all-2.0.1.jar
itext-2.1.7.js2.jar
jasperreports-6.1.0.jar
jasperreports-fonts-6.1.0.jar
jasperreports-javaflow-6.1.0.jar
jcommon-1.0.15.jar
jfreechart-1.0.12.jar
poi-3.10.1.jar

下面是我用来调用报表的代码

HttpServletResponse response = getResponse();
             ServletOutputStream out = response.getOutputStream();
             response.setHeader("Cache-Control", "max-age=0");
             response.setContentType("application/pdf");
             ServletContext context = getContext();

            InputStream fs = new FileInputStream(new File(context.getRealPath("/reports/usman.jasper")));

             JasperReport template = (JasperReport) JRLoader.loadObject(fs);
             template.setWhenNoDataType(WhenNoDataTypeEnum.ALL_SECTIONS_NO_DETAIL);

        JasperPrint print;
        print = JasperFillManager.fillReport(template, null);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
             JasperExportManager.exportReportToPdfStream(print, baos);
             out.write(baos.toByteArray());
             out.flush();
             out.close();
        FacesContext.getCurrentInstance().responseComplete();

当我运行代码时,我得到了下面的错误:

Caused by: java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/util/JRLoader
    at Test.b2_action(Test.java:70)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.sun.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:181)
    at com.sun.el.parser.AstValue.invoke(AstValue.java:289)
    at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
    at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
    at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
    ... 74 more

请帮助我解决此错误。我是不是少了一个罐子?

EN

回答 1

Stack Overflow用户

发布于 2017-07-27 15:51:18

只需重新启动JDeveloper并构建项目,问题就解决了。类路径中缺少类文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45343630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档