2012-11-10 16 views
5

jasper(マスター)レポートがjarファイルに埋め込まれています。レポートはJavaの入力ストリームから得られます。ジャスパーレポートはiReportによって作成されました3.7.0jasperReportサブレポートをjarに埋め込む方法

このマスターレポートには、いくつかのサブレポートがあります。の$ P {SUBREPORT_DIR} + "\\ SubReport.jasper"

Expressionクラス:それが動作するためにiReportは中

をjava.lang.Stringで現時点では私は

サブレポートの式を使用する必要があります。つまり、私はsubReport.jasperをSUBREPORT_DIRフォルダに保存します。

私の質問は、これらのサブレポートをマスターレポートのようにjarに埋め込む方法です。そして「デフォルト値式」はどのように記入すべきでしょうか? (それが必要とされる場合)

は最も近い質問や、これまで私が見てきた答え答えはマスターレポートのコンパイルのために私には十分ではありませんが、ここで

How to load subreport resources with Jasper?

です。コンパイル時にサブレポートが見つからないというエラーメッセージが表示される(これがデフォルト値式が必要かもしれないと思う理由です)

ありがとうございました!

答えて

5

例: いくつかの* .jarファイルにレポートとサブレポートがあります。サブレポートを呼び出すために私はサブレポート式

getClass().getResource("/path/to/my/report/in/a/jar/subreport.jasper").openStream() 

を設定し、それが働いているサブレポート表現クラスjava.io.InputStream

を選択してください!

0

別の質問でanswerの1つの可能な解決策について説明しました。質問は同一ではありませんが、解決策はこの問題も解決します。

このソリューションはスプリングを使用しますが、スプリング固有のパーツ(FileSystemResourceLoader)をClass.getResourceAsStream()に置き換えるのは、それほど大きな問題ではありません。

関連する問題