【发布时间】:2016-06-22 06:36:51
【问题描述】:
我在本地有一个master.jrxml 报告和一些subreport.jrxml,可以通过Scriptlet 代码中的ReportDesign design = JRXmlLoader.load( "/local-file-dir/path/to/subreport.jrxml" ) 加载和操作子报告。
在服务器上,上述加载方法(由我的master.jrxml触发)显然无法处理repo路径,无论我尝试什么(基本上是net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: ...)
(subreport.jrxml 上传为 JRXML 文件资源 - 而不是 报告 具有不可见的文件夹结构;
subreport-attached.jrxml 作为我的 master.jrxml 报告的文件资源上传
)
-
apwop) 没有协议前缀的绝对 repo 路径,例如
/repo/path/subreport.jrxml -
apwp) 带有协议前缀的绝对 repo 路径,例如
repo:/repo/path/subreport.jrxml -
rpwop) 没有协议前缀的相对 repo 路径,例如
subreport-attached.jrxml -
rpwp) 带有协议前缀的相对 repo 路径,例如
repo:subreport-attached.jrxml
我还尝试了以下 uri 变体,如在网络其他地方发现的 没有成功:
-
JRXmlLoader:
JRXmlLoader.load( new DefaultRepositoryService( DefaultJasperReportsContext.getInstance() ).getInputStream( subrepPath ) -
RepositoryUtil:
RepositoryUtil.getInstance( DefaultJasperReportsContext.getInstance() ).getInputStreamFromLocation( subrepPath ) -
JasperServerUtil:类似于 this 我仍在尝试并会报告(到目前为止,正确的 Maven jasperserver 库支持存在问题 - 我可能会在 another question 中解决其他问题)
- 更新:成功了:请参阅下面的答案
【问题讨论】:
标签: java jasper-reports jasperserver