今天在搞交接工作,给同事演示报表平台的功能,前些天还运行正常的系统,今天抛了个异常:
java.lang.NullPointerException
net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:185)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:88)
net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:64)
org.apache.jsp.jasperCommonPage_jsp._jspService(jasperCommonPage_jsp.java:109)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
通过分析发现,不是代码的问题,因为其他的报表能正常运行,原来我在做报表模板时用的Ireport设计器是3.0版本的,而Jasperreports引擎用的是2.02版本,低版本的引擎解析不了高版本的jasper文件。重新换了报表设计器后,问题解决。个人认为由于版本的问题Jasperreports抛空指针异常,出错的提示不是很明确,能有更准确的提示信息会更容易查找些。将这个问题贴出,希望能对遇到类似问题的朋友有所帮助。
分享到:
相关推荐
**JasperReports报表设计器——Jaspersoft Studio用户指南** JasperReports是一款强大的开源报表工具,其报表设计器——Jaspersoft Studio,是专为简化和优化报表创建而设计的集成开发环境(IDE)。这款强大的工具...
- **jasperreports-4.6.0.jar**:4.6.0版本的核心库,与5.6.0版本相比,功能略显有限。 - **jasperreports-fonts-4.6.0.jar & jasperreports-fonts-5.6.0.jar**:提供报表所需的字体资源,支持多种语言和字符集。 ...
jasperreports-5.2.0主要jar包,方便不方便到官网下载的人使用 这是目前jasperreports最新版本官方版 里面包含:jasperreports-5.2.0.jar,jasperreports-applet-5.2.0.jar,jasperreports-fonts-5.2.0.jar,...
IReport是一款基于GUI的报表设计器,用户可以通过拖放的方式构建报表布局,然后将其编译成.jrxml文件,该文件可以被JasperReports引擎读取并执行。3.7.0版本虽然较旧,但仍然支持许多基本和高级的报表设计功能,适合...
在这个版本中,用户可以找到一系列与报表设计、编译和展示相关的 `jar` 包,这些库是开发基于 Java 的报表应用的基础。 **1. jasperreports-javaflow-4.5.0.jar:流式处理** `jasperreports-javaflow-4.5.0.jar` ...
在JasperReports 3.0.0 版本中,引入了对Web应用程序的支持,使得报表的生成和展示更加灵活和方便。此版本还特别整合了Flash技术,为报表的交互性和视觉效果带来了显著提升。 1. **JasperReports核心概念** - **...
JasperReports3.0.0 最新版本 JasperReports是一个基于Java的开源报表工具,它可以在Java环境下像其它IDE报表工具一样来制作报表。JasperReports支持PDF、HTML、XLS、CSV和XML文件输出格式。JasperReports是当前...
jasperreports,jasperreports,jasperreports,jasperreports,jasperreports,jasperreports,jasperreports,jasperreports,jasperreports
**jasperreports-1.3.3与iReport1.3.3简介** JasperReports是世界上最流行的开源报表库,它允许开发人员在各种应用程序中嵌入复杂的报表和图表。jasperreports-1.3.3是该库的一个较早版本,提供了基本的报表设计和...
本文将详细探讨JasperReports 4.7.0版本的核心特性、设计原理及其实现方法,旨在帮助开发者深入理解并充分利用这一强大的报告生成库。 1. **JasperReports概述** JasperReports是一个用Java编写的库,它允许开发者...
- **API**:0.6.1版本的API可能与现在的版本有所不同,开发者需要查阅当时的文档进行学习和开发。 6. **压缩包内容解析** - **dist**:通常包含库的jar文件和其他分发文件,比如示例应用程序或库的预编译版本,供...
**ireport与jasperreports-5.6+groovy-2.1.3详解** `ireport`是一款基于Java的开源报表设计工具,它是`JasperReports`的一部分,主要用于创建复杂的业务报告。`JasperReports`是世界上最受欢迎的Java报表库之一,...
在描述中提到的"能够解决在搭配所有的SSH框架的所有jar包中",暗示了JasperReports可以与Spring、Struts和Hibernate(SSH)这些常见的Java企业级框架无缝集成,提供报表服务。 以下是每个压缩包子文件及其对应的...
《JasperReports 4.1.3:深入解析与应用》 JasperReports是一个功能强大的开源报表库,专为Java应用程序设计,它允许开发者创建、设计和导出各种类型的报表,如PDF、HTML、Excel、CSV等。在4.1.3版本中,...
在本例中,我们提到的是jasperreports-6.0.0版本,这代表了JasperReports在2014年发布的一个稳定版本,包含了多项改进和新特性。 **3. 集成到Web应用** 将JasperReports与Web应用集成通常涉及以下步骤: - **添加...
本教程将深入探讨JasperReports的核心概念和技术,帮助你熟练掌握报表设计与生成。 1. **报表的布局设置** 报表布局是报表设计的基础,它决定了数据如何在页面上展示。`报表的布局设置.doc`可能涵盖了如何设置...
在实际应用中,JasperReports可以与各种数据源集成,如数据库、XML文件、CSV文件甚至是Java对象。通过使用Java API或JSP标签,开发者可以方便地在Web应用中嵌入报表。此外,JasperReports还支持服务器部署,例如...
commons-beanutils-1.7.0.jar;commons-collections-3.2.1.jar;commons-digester-2.1.jar;commons-logging-1.1.1.jar;itext-asian.jar;itextpdf-5.5.8.jar;jasperreports-6.1.1.jar;...jasperreports-javaflow-6.1.1.jar
**iReport与JasperReports介绍** 1. **iReport**:这是一个基于Java的报表设计工具,它允许开发者通过直观的用户界面创建、编辑和管理JasperReports报表模板。iReport支持多种数据源,包括数据库、CSV、XML等,并...
- **Apache POI**:允许JasperReports与Microsoft Office文件格式(如XLS)交互,实现了Excel报表的导出。 - **JAXP**:用于XML的解析和转换,使得JasperReports能够处理XML数据源。 JasperReports不仅适用于Web...