jasper studio 6.5.1预览子报告“找不到资源:RPT0044B_CtInfo.jasper”

时间:2018-12-22 05:21:44

标签: jasper-reports subreport jaspersoft-studio

我在jasper studio 6.5.1中运行报表时遇到两个奇怪的问题
1)我已经在预览之前保存了文件,但是当我在jasper studio 6.5.1中预览时,文件选项卡显示“ *”,这意味着在预览时修改了文件,我比较了预览前后的.jrxml,以下内容预览后删除该行

<property name="ireport.jasperserver.report.resource" value="/reports/RPT0044B_files/main_jrxml"/>

2)我有一个子文件名为RPT0044B_CtInfo.jrxml的子报表与主报表位于同一文件夹中,子报表表示为

<subreportExpression><![CDATA["RPT0044B_CtInfo.jasper"]]></subreportExpression>

在窗口浏览器中,我可以看到“ RPT0044B_CtInfo.jasper与它的主报告位于同一文件夹中,但是预览时出错

  

net.sf.jasperreports.engine.JRException:   net.sf.jasperreports.engine.JRException:在以下位置找不到资源   RPT0044B_CtInfo.jasper。在   com.jaspersoft.studio.editor.preview.view.control.ReportController.fillReport(ReportController.java:550)     在   com.jaspersoft.studio.editor.preview.view.control.ReportController.access $ 16(ReportController.java:525)     在   com.jaspersoft.studio.editor.preview.view.control.ReportController $ 1.run(ReportController.java:420)     在org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)上引起   创建人:net.sf.jasperreports.engine.JRException:在以下位置找不到资源   RPT0044B_CtInfo.jasper。在   net.sf.jasperreports.repo.RepositoryUtil.getResourceFromLocation(RepositoryUtil.java:153)     在   net.sf.jasperreports.repo.RepositoryUtil.getReport(RepositoryUtil.java:112)     在   net.sf.jasperreports.engine.fill.JRFillSubreport.loadReport(JRFillSubreport.java:402)     在   net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateReport(JRFillSubreport.java:369)     在   net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:431)     在   net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:345)     在   net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:383)     在   net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:533)     在   net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2549)     在   net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupHeader(JRVerticalFiller.java:641)     在   net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupHeaders(JRVerticalFiller.java:538)     在   net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:250)     在   net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:99)     在   net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:609)     在   net.sf.jasperreports.engine.fill.BaseFillHandle $ ReportFill.run(BaseFillHandle.java:123)     在java.lang.Thread.run(Thread.java:748)

为什么会这样?

修改

我发现子报表中存在一些编译错误,将其修复后可以立即预览主报表和子报表。但是我发现子报表表达式有时会改变

<subreportExpression><![CDATA["RPT0044B_CtInfo.jasper"]]></subreportExpression>

部署到jasperserver后,它变为

repo:RPT0044B_CtInfo.jrxml

但是那不知道在什么情况下,它会变回

<subreportExpression><![CDATA["RPT0044B_CtInfo.jasper"]]></subreportExpression>

还有

<property name="ireport.jasperserver.report.resource" value="/reports/RPT0044B_files/main_jrxml"/>

有时上述代码会自动添加,但有时会自动删除,为什么?

0 个答案:

没有答案