0

私は次の問題を抱えています、そして私はどこが原因である可能性があるのか​​疑問に思っています。confサーバーのフォルダからリソースを読み込もうとしていJBossます。

final String REPORT_DESIGN = "report_name.rptdesign"; //xml file
templateIS = Thread.currentThread().getContextClassLoader().getResourceAsStream(REPORT_DESIGN);

これは正常に機能し、ストリームをテキストファイルに書き込むこともでき、正しい結果が得られます。しかし、問題は、入力ストリームをBirtエンジンに渡そうとすると、常に。を取得することorg.eclipse.birt.report.engine.api.EngineException: The design file <stream> has error and can not be runです。

/ファイルの先頭のバージョンも試してみました。

プロジェクトのリソースから(つまり、jarファイルからthis.getClass().getResourceAsStream)同じファイルを読み込もうとすると、機能しました。また、同じフォルダから同じ方法でプロパティファイルを読み取っていますJBossが、これも機能します。私は本当にこれに固執しています、何がそのような奇妙なエラーを引き起こす可能性がありますか?

4

1 に答える 1

1
  1. チェックを追加して、null実際にリソース(Validate.notNull(templateIS, "%s not found in classpath", REPORT_DESIGN)または同様のもの)を見つけることができることを確認します。これにより、実際にレポートを見つけることができます。

  2. BIRTレポートにウムラウト(コードポイントが128を超える文字)が含まれているかどうかを確認します。持っている場合は、レポートのエンコーディングが正しいこと、およびファイルが実際にそのエンコーディングになっていることを確認してください。

于 2012-08-30T08:01:56.333 に答える