我正在用jasper编译并生成一个pdf报告,但是有一个奇怪的行为。
这是一个spring boot项目,我使用intellij idea。
当我构建一个jar并用java-jar启动它时,一切都正常。
当我从ide运行项目并启动报告生成时,会出现一条错误消息,说明找不到映像。
图像位于我的项目的“resources/jasper”文件夹中,就像jrxml一样。jrxml如下所示:
<image>
<reportElement x="449" y="19" width="131" height="61" uuid="741d0981-4c7c-43b8-9f9e-b0806c6d82d3"/>
<imageExpression><![CDATA["/jasper/logo-spc2.png"]]></imageExpression>
</image>
生成报告时使用以下代码:首先,初始化资源
@Value("classpath:jasper/weeklyRecap.jrxml")
private Resource weeklyRecapReport;
然后是代码本身
File reportFile = new File(reportFileName);
JasperPrint jasperPrint;
weeklyReportStream = weeklyRecapReport.getInputStream();
JasperReport jasperReport = JasperCompileManager.compileReport(weeklyReportStream);
jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, weekJRBean);
OutputStream outputStream = new FileOutputStream(reportFile);
JasperExportManager.exportReportToPdfStream(jasperPrint, outputStream);
outputStream.close();
weeklyReportStream.close();
以及从ide启动时的错误:
10:29:02.172 [http-nio-8080-exec-2] DEBUG n.s.j.renderers.util.RendererUtil - handled image error with type ERROR for location /jasper/logo-spc2.png
net.sf.jasperreports.engine.JRException: Byte data not found at: /jasper/logo-spc2.png.
谢谢你的帮助。
暂无答案!
目前还没有任何答案,快来回答吧!