如何将JasperReport子报告嵌入到jar中

Mar*_*k09 5 embed jasper-reports

我有一个嵌入jar的jasper(master)报告.报告来自java输入流.碧玉报告由iReport 3.7.0制作

在此主报告中,有一些子报告.目前我必须使用

子报告表达式:$ P {SUBREPORT_DIR} +"\\ SubReport.jasper"

表达式类:java.lang.String

在iReport中使它工作.这意味着我将subReport.jasper存储在SUBREPORT_DIR文件夹中.

我的问题是,如何将这些子报告嵌入到jar中,就像主报告一样?什么应该填写"默认值表达式"?(如果需要的话)

到目前为止,我所看到的最接近的问题和答案就在这里

如何使用Jasper加载子报表资源?

但是对于我的主报告编译,答案是不够的.在编译时有一条错误消息说缺少子报告(这就是为什么我认为可能需要默认值表达式?)

非常感谢你!

小智 5

例如:我有报告和子报告,位于一些*.jar文件中.调用子报表我设置子报表表达式

getClass().getResource("/path/to/my/report/in/a/jar/subreport.jasper").openStream()
Run Code Online (Sandbox Code Playgroud)

并选择子报表表达式类 java.io.InputStream

这是工作!