首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Jasper报告构建中断(没有编辑)

Jasper报告构建中断(没有编辑)
EN

Stack Overflow用户
提问于 2013-05-07 17:35:53
回答 1查看 2.1K关注 0票数 2

我从一个离开公司的开发商那里继承了一个项目。该项目使用java (对我来说是新的),并使用jasper reports (对我来说是新的)生成PDF。我需要更新其中一份报告以删除一些文本。如果我把代码从源代码控制中取出,然后运行它,它就能正常工作。但是,如果我打开一个jrxml文件并构建它,不做任何更改,那么尝试再次运行该报告,它会崩溃。我得到的错误是:

原生方法( net.sf.jasperreports.engine.fill.JRFillTextField.getFormat(JRFillTextField.java:706) net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:394) net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:368) net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258) net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:)499) net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2036) net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:760) net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:270) net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128) net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946) net.sf.jasperreports.engine.fill.JRBaseFiller.填充(JRBaseFiller.java:845) net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:609) net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59) net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSubreportRunner.java:205) java.lang.Thread.run(未知来源)

在我的一生中,我无法弄清楚这个错误意味着什么或者如何调试它。正如我前面所说,我对实际报告没有作任何改动。此时我所做的就是在iReport中打开jrxml文件并构建它。如果我将jasper文件恢复为签入的版本,则报告再次开始工作。这份报告有一些子报告,似乎并不重要,我构建的哪个文件会破坏整个报告。

我不知道这是否有帮助,但我调试了代码,它即将消亡的代码行如下:

代码语言:javascript
代码运行次数:0
运行
复制
bytes = JasperRunManager.runReportToPdf(...)

编辑:我的和我的iReport版本是不同的版本。我为我正在使用的iRpeort版本添加了JAR (5.1.0),现在我得到了一个新的错误。进步!错误是:

不能将net.sf.jasperreports.engine.base.JRBaseTextField实例分配给net.sf.jasperreports.engine.JRParagraphContainer类型的字段net.sf.jasperreports.engine.base.JRBaseParagraph.paragraphContainer (在net.sf.jasperreports.engine.base.JRBaseParagraph实例中)

谢谢大家的帮助。我刚刚得到了iReport v4.0.1来匹配我的Jar。现在我可以编辑这些文件了。不幸的是,我没有时间去从头开始学习这一切,所以我现在只会对旧的版本感到恶心。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-07 20:39:15

库中的一些特性从4改为5,需要一些调整才能使报告正常工作。一个主要的变化是条形码,iReport如何包含它们,以及它们是用什么库支持的。因为您不熟悉java或JasperReports,所以我认为获得更早版本的iReport是正确的做法。

将来,要知道可以用jrxml文件来打包JAR,而不是编译jasper文件,并让库动态地编译报告。这使得维护不再是我所发现的噩梦。

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

https://stackoverflow.com/questions/16425200

复制
相关文章

相似问题

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