1

JavaJBoss 5.1EJBJasperReportsライブラリを使用してレポートを生成しています。

サブレポートを持つjrxmlがあり、サブレポート式は$P{SUBREPORT_DIR} + "ACC0401-RebatePayableAgingClosedLoans - SR1.jasper"

Java$P{SUBREPORT_DIR} から渡される場所とファイル名、つまり「ACC0401-RebatePayableAgingClosedLoans - SR1.jasper」は、報告することだけがわかっています。

Java はファイル名を認識しない"ACC0401-RebatePayableAgingClosedLoans - SR1.jasper"ため、使用できませんgetResourceAsStream()

ここで、基本的にEARファイル内にある次の絶対パスをJavaコードから渡したいと思います。

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

私の質問は次のとおりです。Javaでは、EAR ファイルの絶対パスを取得して、その絶対パスをJRレポートに渡し、レポートが実際の.jasperファイルを見つけることができるようにするにはどうすればよいですか。

4

1 に答える 1

0

これは私にとってはうまくいきました.絶対パスの代わりにURLを使用してください.

InputStream url = getClass().getClassLoader().getResourceAsStream("/Report.jasper");
JasperPrint jasperPrint = JasperFillManager.fillReport(url, params, ds);
于 2013-12-05T19:18:19.630 に答える