jasper从intellij启动时无法加载映像

dgtucam1  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(317)

我正在用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.

谢谢你的帮助。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题