を動作することを、私はJasper Reports(バニラは、動作するようにGrails Jasper pluginをやったことがなかった - thisを参照)の両方を使用したいものは、別のためにいくつかのレポートのために、より適している(とGrails Rendering pluginをその他)。iTextのバージョンを使用するようにプラグインをレンダリング両方JasperReportsのとGrailsは
'com.lowagie:itext:2.1.5'または 'com.lowagie:itext:4.2.1'を含めると、レンダリングプラグインの実行時にcom.lowagie.text.pdf.BaseFont.getCharBBoxが表示されませんPDFレポート。
'com.lowagie:itext:2.0.8'を含めると、JasperのPDFレポートを実行するとcom.lowagie.text.pdf.PdfWriter.setRgbTransparencyBlendingが表示されません。
どちらもjava.lang.NoSuchMethodError-sで失敗しています。
最新のiTextバージョンで試したわけではありませんが、パッケージ名が異なり、ライセンスがより制限されているため、適切ではないと思います。
マイBuildConfig.groovyは、この(最初の3つの依存関係の1つは、コメントを外し取得)のようになります。
dependencies {
// runtime 'com.lowagie:itext:4.2.1' // missing.BaseFont.getCharBBox
// runtime 'com.lowagie:itext:2.0.8' // missing PdfWriter.setRgbTransparencyBlending
// runtime 'com.lowagie:itext:2.1.5' // missing.BaseFont.getCharBBox
compile 'net.sf.jasperreports:jasperreports:5.2.0' // needed by jasper
runtime 'org.springframework:spring-test:3.2.4.RELEASE' // needed by rendering plugin
runtime 'commons-collections:commons-collections:3.2.1' // needed for jasper
}
plugins {
// ...
compile ":rendering:0.4.4"
// compile ":jasper:1.6.1" // couldn't get this to generate anything, but not sure it would help any
// ...
}
はiTextの(MPLライセンス)のいずれかの「古い」バージョンは、私はそれが動作して試すことができるとあります?
Maven/Gradleにライブラリ/プラグインの1つにiTextの1つのバージョンを使用させ、もう1つのバージョンを使用するように依頼する方法はありますか?
* JasperReports *ライブラリの各バージョンは、サードパーティのライブラリの特定のバージョンによって異なります。 * iText *はこのルールの例外ではありません。 * iText *の依存関係を実験するために、自分の責任で試すことができます。 * iText *のバージョンは、* JR *ライブラリの* pom.xml *(* com.lowagie.itext *アーティファクトを参照)で見つけることができます。たとえば、* JR 5.2.0 *は*** com.lowagie.itext-2.1.7.js2 ***アーティファクトを使用しています –
ありがとう、これは役に立ちます。 私はhttps://github.com/flyingsaucerproject/flyingsaucer/blob/master/flying-saucer-pdf/pom.xmlを参照しています。2.1.7 itextを使用しているようですが、とにかく失敗します。私はフライングソーサーの欠陥を開けると思う。 –
それは、JasperとFlying Saucerはそれぞれ異なるバージョンのiTextライブラリでしか動作しないと仮定すると、それを解決するために何ができるのですか? –