JasperReport java.util.NoSuchElementException
我有一个奇怪的问题。我有一份包含大量数据的报告。当我按特定日期或短范围日期请求报告时,报告显示正常,但当我按大范围请求报告时,此异常引发:JasperReport java.util.NoSuchElementException,java,jasper-reports,Java,Jasper Reports,我有一个奇怪的问题。我有一份包含大量数据的报告。当我按特定日期或短范围日期请求报告时,报告显示正常,但当我按大范围请求报告时,此异常引发:java.util.NoSuchElementException 我认为可能是数据源(XML),但当我将数据源更改为JSON时,问题仍然存在。有什么想法吗 PD:当我在iReport上运行报告时,一切都正常( JasperReports版本是5.6.0 JavaJDK7 完全例外: java.util.NoSuchElementException at jav
java.util.NoSuchElementException
我认为可能是数据源(XML),但当我将数据源更改为JSON时,问题仍然存在。有什么想法吗
PD:当我在iReport上运行报告时,一切都正常(
JasperReports版本是5.6.0JavaJDK7 完全例外:
java.util.NoSuchElementException
at java.util.AbstractList$Itr.next(Unknown Source)
at net.sf.jasperreports.engine.fill.JRPrintBand$ElementsIterator.next(JRPrintBand.java:151)
at net.sf.jasperreports.engine.fill.JRPrintBand$ElementsIterator.next(JRPrintBand.java:1)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillBand(JRVerticalFiller.java:2136)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2090)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:788)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:298)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:152)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:963)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:892)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:114)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:584)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:930)
at ibusplus.com.reportRequest.clases.ReportExport.getJasperPrint(ReportExport.java:208)
at ibusplus.com.reportRequest.clases.ReportExport.getJasperPrint(ReportExport.java:192)
at ibusplus.com.reportRequest.clases.ReportExport.getURLReport(ReportExport.java:274)
at org.apache.jsp.reportGenerator_jsp._jspService(reportGenerator_jsp.java:151)
我真的希望我能问你一些问题,但我的低声誉分数阻止了这一点。但由于已经两个小时了,你没有收到任何回应,我将冒冒犯其他成员的风险,提出以下建议: 可能存在一些格式错误的XML,只有在处理“大”文件时才会读取。在所有运行的小文件(或大文件的一小部分)中,您都幸运地没有遇到坏数据。我将执行以下操作之一(或全部):
Invoices
的元素,您很熟悉。如果您看到Invioces
(切换i和o)的元素定义,您可能已经找到了罪魁祸首感谢您的回复。我意识到,当我删除细节栏的任何字段时,报告会毫无问题地显示:这让我更加困惑,因为细节栏上可能存在字段限制:(你知道一些关于jasper reports的信息,我真的需要帮助。再次感谢你的回答。我将尝试实践以下问题:异常与你的.jrxml文件有关,而不是与作为报告输入的庞大XML文件有关?可能报告定义指的是报告定义中缺少的元素(或拼写不相同)。你认为这会引发java.util.NoSuchElementException吗?因为迭代器上没有下一个元素时会引发异常。我验证了xml文件输入,一切正常。我不知道发生了什么。不对。仔细检查你的堆栈后,我认为这是我的错误建议。我从堆栈中看到rt是作为web调用的一部分生成的,您提到从iReports运行报告时工作正常。这是一个线索,因为代码不同(尽管有些代码可能很常见)。Apache调用的Jasper LIB是否与libs iReports使用的版本相同?您是否在任何地方使用最新版本的LIB?如果Apache具有较旧的LIB,请尝试用最新版本替换它们。