0

私はJavaを使用してソフトウェアを開発しています。

JasperReportsを請求書印刷用のバーコードアクセスにリンクしました。

私の問題は、そのレポートを印刷しようとすると、次の例外が発生することです。

net.sf.jasperreports.engine.JRRuntimeException: java.io.IOException: SAX2 driver class org.apache.crimson.parser.XMLReaderImpl not found
    at net.sf.jasperreports.renderers.BatikRenderer.ensureSvg(BatikRenderer.java:198)
    at net.sf.jasperreports.renderers.BatikRenderer.getDimension(BatikRenderer.java:142)
    at net.sf.jasperreports.engine.export.draw.ImageDrawer.draw(ImageDrawer.java:110)
    at net.sf.jasperreports.engine.export.draw.PrintDrawVisitor.visit(PrintDrawVisitor.java:117)
    at net.sf.jasperreports.engine.export.draw.PrintDrawVisitor.visit(PrintDrawVisitor.java:55)
    at net.sf.jasperreports.engine.fill.JRTemplatePrintImage.accept(JRTemplatePrintImage.java:393)
    at net.sf.jasperreports.engine.export.draw.FrameDrawer.draw(FrameDrawer.java:231)
    at net.sf.jasperreports.engine.export.draw.FrameDrawer.draw(FrameDrawer.java:179)
    at net.sf.jasperreports.engine.export.JRGraphics2DExporter.exportPage(JRGraphics2DExporter.java:259)
    at net.sf.jasperreports.engine.export.JRGraphics2DExporter.exportReportToGraphics2D(JRGraphics2DExporter.java:232)
    at net.sf.jasperreports.engine.export.JRGraphics2DExporter.exportReport(JRGraphics2DExporter.java:171)
    at net.sf.jasperreports.engine.export.JRPrintServiceExporter.print(JRPrintServiceExporter.java:325)
    at sun.print.RasterPrinterJob.printPage(RasterPrinterJob.java:1968)
    at sun.print.RasterPrinterJob.print(RasterPrinterJob.java:1457)
    at net.sf.jasperreports.engine.export.JRPrintServiceExporter.exportReport(JRPrintServiceExporter.java:286)
    at Server.Print.Url.Print.printReport(Print.java:62)
    at Server.Print.Url.Print.createReports(Print.java:116)

どうすればこの問題を解決できますか?

4

2 に答える 2

2

アプリケーションが必要なライブラリを見つけていません。私が見たところ、ApacheのCrimson XMLパーサーをダウンロードして、アプリケーションのクラスパスに追加する必要があります。

于 2012-12-24T12:16:14.747 に答える
0

ライブラリがクラスパスにないようです

コマンドラインで実行している場合は、

  1. マニフェストを更新して、jarをクラスパスに含めます

  2. クラスメートのエントリを追加するには、行に「-cp」を使用して手動で含めます。例:java -co jar1.jar; jar2.jar -jar my.jarこれは、セパレーターが;であるとWindowsを想定しています。

于 2012-12-24T12:54:22.607 に答える