2

彼ら!長い間、例外を修正できません: java.lang.NoSuchMethodError: com.lowagie.text.pdf.PdfWriter.setRgbTransparencyBlending(Z)V

必要なすべての jar をクラスパスに追加しました。

  • commons-beanutils-1.8.0
  • commons-collections-2.1.1
  • commons-digester-2.1.0
  • commons-javaflow-20060411
  • commons-logging-1.1.1
  • itext-2.1.5
  • ジャスパーレポート - 5.1.0

ここでJasperReports の要件を見たので、すべてのライブラリが必要ですが、とにかくバグを修正できません

私のコード:

    class ForIReport {

    public static void main(String[] args) {

//        def conn = Sql.newInstance(
//                "jdbc:sqlserver://localhost:1433;databaseName=twitter",
//                'sa',
//                'sunrise123',
//                'com.microsoft.sqlserver.jdbc.SQLServerDriver')

//        Class.forName("com.microsoft.jdbc.SQLServerDriver").newInstance();
//        Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433", 'sa', 'sunrise123');

        def fileName = "C:/Users/avalev/Documents/iReport/First.jasper"

        def outFileName = "First.pdf"

        HashMap hm = new HashMap()

        JasperPrint print = JasperFillManager.fillReport(fileName, hm, new JREmptyDataSource())


        JRExporter exporter = new JRPdfExporter()

        exporter.setParameter(
                JRExporterParameter.OUTPUT_FILE_NAME,
                outFileName);

        exporter.setParameter(JRExporterParameter.JASPER_PRINT, print)

        exporter.exportReport()

        println("Created file :" + outFileName)

    }

}

および例外の説明

log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" java.lang.NoSuchMethodError: com.lowagie.text.pdf.PdfWriter.setRgbTransparencyBlending(Z)V
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:596)
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:419)
    at net.sf.jasperreports.engine.JRExporter$exportReport.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
    at ForIReport.main(One.groovy:51)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

PdfWriter クラスのインスタンスを作成できます (自分で確認するため)

ご協力ありがとうございました

4

4 に答える 4

9

jasperreports-5.1.0ニーズitext-2.1.7

プロジェクトのpomで確認できます。jasperreports-5.1.0

<dependency>
    <groupId>com.lowagie</groupId>
    <artifactId>itext</artifactId>
    <version>2.1.7.js2</version>
    <scope>compile</scope>
</dependency>

itext のバージョンをバージョン2.1.7以上にアップグレードする必要があります。

于 2013-10-09T15:53:05.603 に答える
1

私も同じ[runtime] errorでした。私が気付いたのは、「バティック」ライブラリの jar が間違っていたことです。からすべてのバージョン 1.7 jar を取得しましたorg.apache.xmlgraphics。私はこのようにジャスパーを使用しています:

 <dependency>
      <groupId>net.sf.jasperreports</groupId>
      <artifactId>jasperreports</artifactId>
      <version>4.0.0</version>
   </dependency>

たとえば、バティック:

<dependency>
      <groupId>org.apache.xmlgraphics</groupId>
      <artifactId>batik-anim</artifactId>
      <version>1.7</version>
</dependency>

また、pom に iText のインスタンスが 1 つしかないことを確認しました。

<dependency>
   <groupId>com.lowagie</groupId>
   <artifactId>iText</artifactId>
   <version>2.1.7</version>
</dependency>

それが役立つことを願っています。

于 2014-01-10T20:12:44.433 に答える
0

私も同じ状況に遭遇しましたが、最終的に解決することに成功しました。

Mavenを使用している場合は、以下の依存関係を追加してください

<dependency> <groupId>org.eclipse.birt.runtime.3_7_1</groupId> <artifactId>com.lowagie.text</artifactId> <version>2.1.7</version> </dependency>

または、以下のリンクから jar をダウンロードし、ビルドパスに追加します

com.lowagie.text_2.1.7

itext-2.1.7.jar を追加しても意味がありません。また、その最新バージョンは itextpdf-5.5.9.jar です。

于 2016-04-14T08:54:31.773 に答える
0

グリッドからデータを取得し、使用して PDF に書き込むときに、同じ問題が発生しました。

空飛ぶ円盤-pdf

問題は、 com.lowagie (itext)org.xhtmlrenderer (flying-saucer-pdf)のバージョンに互換性がなく、

以下を使用し、

<dependency>
        <groupId>com.lowagie</groupId>
        <artifactId>itext</artifactId>
        <version>2.1.7</version>
    </dependency>
    <dependency>
        <groupId>org.xhtmlrenderer</groupId>
        <artifactId>flying-saucer-pdf</artifactId>
        <version>9.0.7</version>
    </dependency>
于 2015-05-13T09:59:57.107 に答える