我有一个.jasper和.jrxml文件,我用ireport 5编辑它但在编译之后它没有用。我使用jasperreports-lib 5.5.0
java 1.8和intellij IDE
我的项目中出现以下错误。
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2313)
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2326)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2797)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:802)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)
at net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream.<init>(ContextClassLoaderObjectInputStream.java:58)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:244)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:229)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:632)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:956)
at de.devb.reports.action.PrintOffLine.print(PrintOffline.java:80)
有人知道ireport和jasperreport库的版本兼容性吗? 如何检测.jasper .jrxml文件中使用的ireport版本?
答案 0 :(得分:2)
如果您使用ireport 5.5编译报告,那么您需要的java代码依赖于此.jar版本。 如果您使用一个版本为jrxml提供产品并使用其他旧版本编译jrxml,则在某些情况下jasperreports将抛出异常。检查一下
答案 1 :(得分:1)
只需检查Java版本,在这里您提到了Java1.8,您的jasperreport版本将不支持Java8。 这里还有一个帖子 What version of JaspeReports has support for Java 8?
答案 2 :(得分:0)
您可以查看每个版本的更改日志以查看jasperreport兼容性:
https://sourceforge.net/projects/ireport/files/iReport/
这里适用于(甚至)旧版本:
https://sourceforge.net/projects/ireport/files/iReport%20%28classic%29/