2

Tomcat(デバッガー付きのEclipseから)で実行している場合、使用する.jasperファイル(たとえば、InputStreamとして)をどのように取得する必要がありますJasperFillManager.fillReport()か?現在、.jasperファイルは。内にあります/WEB-INF/jasper

レポートを実行している場所に基づいて壊れないソリューションが必要です。EclipseからTomcatを実行しているときにデバッグされている場合は、System.getProperty("user.dir")戻りますC:/Eclipse ...が、サーバーにデプロイされたときのパスは明らかに異なります。

これをどのように回避しますか?

4

3 に答える 3

0

作成後に.jasperファイルを置き換える予定がない場合は、リソースとgetResourcesAsStreamを使用できます。

于 2012-04-10T20:57:38.413 に答える
0

アプリケーションオブジェクトを使用できると思います(サーブレットではなくJSPを使用していると仮定します-私はそれらを使用していません)

InputStream input = new FileInputStream(new File(application.getRealPath("/WEB-INF/jasper")+"/report.jasper"));
于 2012-04-11T13:39:37.720 に答える
0

Eclipse内からTomcat起動構成の作業ディレクトリを変更することで、tomcat/eclipseからこの作業を実行することができました。これにより、JavaコードでfillReport()への相対パスを渡すことができます。しかし、私はまだWebsphere内からテストを試みていません...(IBMをすぐに呪うことになるとのことです)。

于 2012-04-12T13:07:11.617 に答える