3

タイトルに記載されているように、 JasperReportsのバージョンをアップグレードしています。JasperReportsのバージョンアップについてはよくわかりません。それを機能させるために私が変更しなければならないすべてのもの。すべての最新の.jarファイルがあります。しかし、.PDFレポートを印刷すると、このエラーが発生します。

error:could not open file because its damaged or not supported.

日食では、この例外を示しています

java.lang.NoSuchFieldError: PRINTSCALING at 
net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExpor‌​ter.java:532) at 
net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java‌​:396) at 
net.sf.jasperreports.engine.JasperExportManager.exportToPdf(JasperExportManager.‌​java:212) at 
net.sf.jasperreports.engine.JasperExportManager.exportReportToPdf(JasperExportMa‌​nager.java:536) at 
com.sibisoft.northstar.util.JasperReportGenerator.getPdfByteArray(JasperReportGe‌​nerator.java:679)

私を助けてください。

4

1 に答える 1

6

問題は JasperReports ではなく、使用している iText ライブラリのバージョンにあります。このバージョンの JasperReports を使用するには、バージョン 2.1.7 をダウンロードする必要があります。ここから入手できます。


過去に出くわしたので、たまたま頭の中でこれを知っていましたが、将来の参考として、これは私が最初にそれを理解するために使用したプロセスです。

JasperReports はオープン ソースであるため、コードはオンラインで簡単に見つけることができます。だから私はグーグル:

サイト:grepcode.com net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream

オンラインでコードを見つける。(GrepCode は基本的に、多くのオープン ソース プロジェクトのソース コードを調べるためのクールなサイトを提供します。)

GrepCode ページの上部にプロジェクトのバージョンがあるので、使用しているバージョンを指していることを確認してください。

次に、エラー メッセージでメソッドまたは行番号を見つけます。

ここからは、ローカル コードのデバッグと同じです。問題のあるクラスと、それが属するパッケージを確認できます。この場合、犯人として itext ライブラリを指しています。

今後の参考になれば幸いです。

于 2012-06-13T02:57:59.903 に答える