私たちはcom.lowagie:itext:jar:2.1.7.js2に依存するJasperReport 6.1.0を使用しています。 iText 2.1.7にはIPの問題があり、iTextは商用ライセンスが必要な最新バージョンを使用するようすべてのユーザーに求めているようだ。 iTextライセンスを購入したいと考えています。今iTextの最新バージョンは7.0.1です。 1.JasperReport iText 2.1.7を最新のiText 7.0.1に置き換えてください。
に新しいiTextのjarを追加のpom.xmlに
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.1.0</version>
<exclusions>
<exclusion>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</exclusion>
...
2.デフォルトのiTextの2.1.7依存関係を除外:私はJasperReportのiTextのは、最新のiTextの7.0.1と2.1.7交換する手順の下にやってみましたpom.xml
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>barcodes</artifactId>
<version>7.0.1</version>
<!-- barcodes depends on kernel -->
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>font-asian</artifactId>
<version>7.0.1</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>forms</artifactId>
<version>7.0.1</version>
<!-- forms depends on kernel and layout -->
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>hyph</artifactId>
<version>7.0.1</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>io</artifactId>
<version>7.0.1</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>7.0.1</version>
<!-- kernel depends on io -->
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>layout</artifactId>
<version>7.0.1</version>
<!-- layout depends on kernel -->
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>pdfa</artifactId>
<version>7.0.1</version>
<!-- pdfa depends on kernel -->
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>sign</artifactId>
<version>7.0.1</version>
<!-- sign depends on kernel, layout and forms -->
</dependency>
3.実行MVNとテストレポート機能は、私はエラーの下になった:それはJASPのように見える
2016-11-17 14:43:36,520 ERROR [c.i.c.d.DeferredOperationManager] [ Thread-49] Exception on Deferred Operation. Operation UUID: 2a647922-d6d0-450d-9b2d-4d97638ba03f. UI Error key:d9a16093-be20-4278-9f8b-93120c0a2231 - Error: java.lang.NoClassDefFoundError: com/lowagie/text/SplitCharacter
erReportは、名前空間が "com.lowagie ..."である古いiTextクラスを見つけようとしています。 新しいiText 7.0.1 jarを解凍しようとしましたが、クラスはパッケージ "com.itextpdf ..."にあります。
JasperReportを新しいiText jarと呼ぶにはどうしたらいいですか?
* "新しいiText jarをJasperReportに呼び出すにはどうすればいいですか?" - *** *** iTextを使っているJasperReportクラスを書き直してください!***本当に依存関係を置き換えるとは言いません主要な部分が5(2.1.7.7.1.1)増加し、すべてがすぐに使えると期待しているバージョンでは、あなたはそうですか?クラスのパッケージが変更されただけでなく、7.x APIは完全な書き換えであり、多くの古い罪を取り除くために互換性が設計によって壊れています。 – mkl
誰かがJasperの報告ウェブサイトhttp://community.jaspersoft.com/questions/1035351/itext7-supportで同じ質問をしました。そのページを見て、ジャスパー・レポートを管理している人から回答が得られたかどうかを確認するのが役に立ちます。 –