EAR文件的绝对路径

时间:2013-06-27 13:13:32

标签: java servlets jasper-reports ear

我正在使用 Java JBoss 5.1 EJB JasperReports 库来生成报告。

我们有一个带子报表的jrxml,子报表表达式是 $P{SUBREPORT_DIR} + "ACC0401-RebatePayableAgingClosedLoans - SR1.jasper"

Java 传递 $P{SUBREPORT_DIR} 并且文件名即“ACC0401-RebatePayableAgingClosedLoans - SR1.jasper”已知只报告。

Java不知道文件名 "ACC0401-RebatePayableAgingClosedLoans - SR1.jasper" ,因此我无法使用 getResourceAsStream()

现在,我想从 Java 代码传递以下绝对路径,该路径基本上位于EAR文件中。

/usr/local/jboss5.1.0.GA/server/default/deploy/OceanviewEAR.ear/OceanviewEJB.jar/com/oceanview/jasper/resource/config

我的问题是:在 Java 中,如何获取EAR文件的绝对路径,以便我可以将该绝对路径传递给 JR 报告,然后报告将是能够找到实际的 .jasper 文件。

1 个答案:

答案 0 :(得分:0)

这对我有用:使用URL而不是绝对路径。

InputStream url = getClass().getClassLoader().getResourceAsStream("/Report.jasper");
JasperPrint jasperPrint = JasperFillManager.fillReport(url, params, ds);