chcę użyć zarówno Jasper Reports (wanilia, nigdy nie dostał Grails Jasper plugin pracować - patrz this) i Grails Rendering plugin (jeden jest bardziej odpowiedni dla niektórych raportów, inny dla inne).Która wersja iText używać tak, że obie wtyczki Rendering JasperReports i Grails działa
Jeśli dodaję "com.lowagie: itext: 2.1.5" lub "com.lowagie: itext: 4.2.1", to brakuje mi com.lowagie.text.pdf.BaseFont.getCharBBox po uruchomieniu wtyczki Rendering Raport w formacie PDF.
Jeśli dodaję "com.lowagie: itext: 2.0.8", to brakuje mi com.lowagie.text.pdf.PdfWriter.setRgbTransparencyBlending po uruchomieniu raportu PDF Jaspera.
Oba błędy kończą się na java.lang.NoSuchMethodError-s.
Nie próbowałem z najnowszymi wersjami iText, ale mają one różne nazwy pakietów i bardziej restrykcyjne licencje, więc nie sądzę, by były dobrze dopasowane.
My BuildConfig.groovy wygląda następująco (jeden z pierwszych 3 zależnościami dostaje Odkomentowano):
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
// ...
}
Czy istnieje „stara” wersja iText (MPL-licencjonowany), że mogę spróbować, które mogą pracować ?
Czy jest jakiś sposób, aby zapytać Mavena/Gradle'a, czy mogę poprosić jedną z bibliotek/wtyczek o użycie jednej wersji iText, a innej drugiej?
Każda wersja * biblioteki JasperReports * zależy od konkretnych wersji bibliotek zewnętrznych i * iText * nie jest wyjątkiem od tej reguły. Możesz spróbować na własne ryzyko eksperymentować z zależnością * iText *. Możesz znaleźć wersję * iText * w * pom.xml * (zobacz artefakt * com.lowagie.itxt *) biblioteki * JR *. Na przykład * JR 5.2.0 * używa artefaktu *** com.lowagie.itext-2.1.7.js2 *** –
Dzięki, to jest pomocne. Sprawdziłem https://github.com/flyingsaucerproject/flyingsaucer/blob/master/flying-saucer-pdf/pom.xml i wydaje się, że używa on 2.1.7 itext, ale i tak zawodzi. Myślę, że otworzę defekt dla Latającego Spodka. –
Biorąc to pod uwagę, zakładając, że Jasper i Flying Saucer działają tylko z inną wersją biblioteki iText, co można zrobić, aby to rozwiązać? –