JasperReports NoClassDefFoundError exception sur le net.sf.jasperreports.moteur.util.JRStyledTextParser
Lorsque vous essayez d'exporter sur WebLogic 11g, il lance l'exception NoClassDefFound. J'ai vérifié l'application WAR et jasperreports-3.7.4.jar est inclus dans le dossier WEB-INF/lib. Quelle est l'erreur?
StackTrace
Java.lang.NoClassDefFoundError: net/sf/jasperreports/moteur/util/JRStyledTextParser à net.sf.jasperreports.moteur.remplir.JRBaseFiller.(JRBaseFiller.java: 181) à net.sf.jasperreports.moteur.remplir.JRVerticalFiller.(JRVerticalFiller.java: 76) à net.sf.jasperreports.moteur.remplir.JRVerticalFiller.(JRVerticalFiller.java: 86) à net.sf.jasperreports.moteur.remplir.JRVerticalFiller.(JRVerticalFiller.java: 56) à net.sf.jasperreports.moteur.remplir.JRFiller.createFiller(JRFiller.java: 142) à net.sf.jasperreports.moteur.remplir.JRFiller.fillReport(JRFiller.java: 78) à net.sf.jasperreports.moteur.JasperFillManager.fillReport (JasperFillManager.java: 624) à org.springframework.Web.servlet.vue.jasperreports.AbstractJasperReportsView.fillReport(AbstractJasperReportsView.java: 676) à
7 réponses
Enfin, je l'ai fait fonctionner. J'ai détecté l'Exception racine, qui a été levée avant NoClassDefFoundError: net/sf/jasperreports / engine/util/JRStyledTextParser:
java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment
Les classes Sun AWT sous Unix et Linux dépendent du système X Window. Lorsque vous utilisez ces classes, elles s'attendent à charger des bibliothèques clientes X et à pouvoir parler à un serveur X display. Cela a du sens si votre client a une interface graphique; malheureusement, il est nécessaire même si votre client utilise AWT mais n'a pas GUI (ce qui est mon cas, générer un rapport à partir d'une application web)
La façon de contourner cela, est de définir une propriété système java.awt.headless=true
au démarrage du système.
J'ai rencontré le même problème et nous l'avons résolu en installant les paquets de polices xorg avec les polices ttf.
Exception D'analyse de texte signifie que la police n'a pas été reconnue. J'ai passé une journée entière à essayer de comprendre pourquoi, puis finalement je résous ce problème en utilisant text SansSerif. Sous Linux, seules quelques polices peuvent être analysées. En espérant a aidé, en ce qui concerne meilleur
Nous avons eu un problème similaire. nous l'avons résolu en utilisant le fichier JAR jasper java flow. le
java.awt.headless=true
N'a pas fonctionné pour nous.
Vous obtenez la même erreur s'il n'y a pas assez d'espace. J'ai eu la même erreur et c'était parce qu'il y avait 0KB d'espace libre sur le disque dur du serveur.
J'ai eu le même problème et il a été résolu en réduisant l'espace / tmp. C'était 100% (dossier / tmp). Je l'ai réduit à 86% et redémarré le serveur et le noclassdefinitionerror était parti et le problème a été résolu.
A fait face à ce problème plusieurs fois et j'ai la solution. Cette erreur est due au manque d'espace mémoire sur le disque... Vous pouvez essayer ci-dessous les choses à résoudre : (I) faire assez d'espace dans le dossier tmp (ii) supprimer certains fichiers inutiles sur le disque pour faire un peu d'espace.
Bonne chance..Espérer.. cela devrait résoudre votre problème