web-dev-qa-db-fra.com

JasperReports NoClassDefFoundError exception sur net.sf.jasperreports.engine.util.JRStyledTextParser

Lors de la tentative d'exportation sur WebLogic 11g, une exception NoClassDefFound est renvoyée. 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?

Trace de la pile

Java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/util/JRStyledTextParser à net.sf.jasperreports.engine.fill.JRBaseFiller. (JRBaseFiller.Java:181) à net.sf.jasperreports.engine.fill.JRVerticalFiller. (JRVerticalFiller.Java:76) à net.sf.jasperreports.engine.fill.JRVerticalFiller. (JRVerticalFiller.Java:86) à net.sf.jasperreports.engine.fill.JRVerticalFiller. (JRVerticalFiller.Java:56) à net.sf.jasperreports.engine.fill.JRFiller.createFiller (JRFiller.Java:142) à net.sf.jasperreports.engine.fill.JRFiller.fillReport (JRFiller.Java:78) à net.sf.jasperreports.engine.JasperFillManager.fillReport (JasperFillManager.Java:624) à org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView.fillReport (AbstractJasperReportsView.Java:676). à

25
Esteve Camps

Enfin, je le fais fonctionner. J'ai détecté la racine Exception, lancé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, ils s'attendent à charger des bibliothèques client X et à pouvoir dialoguer avec un serveur d'affichage X. Cela a du sens si votre client a une interface graphique; malheureusement, cela est nécessaire même si votre client utilise AWT mais n'a pas d'interface graphique (ce qui est mon cas, générer un rapport à partir d'une application Web)

Pour contourner ce problème, définissez une propriété système Java.awt.headless=true au démarrage du système.

32
Esteve Camps

J'ai rencontré le même problème et nous l'avons résolu en installant les packages de polices xorg avec les polices ttf.

4
rudygodoy

L'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 j'ai finalement résolu le problème en utilisant le texte SansSerif. Sous Linux, seules quelques polices peuvent être analysées. Espoir a aidé, Cordialement

2
Lorenzo

Nous avons eu le même problème. nous avons résolu le problème en utilisant le fichier jar de flux Java jasper. la 

Java.awt.headless=true

n'a pas fonctionné pour nous.

1
Tony A

J'ai fait face à ce problème plusieurs fois et j'ai la solution. Cette erreur est due à un manque d’espace mémoire sur le disque ... Vous pouvez essayer les solutions ci-dessous pour résoudre: sur le disque pour faire de la place. 

Bonne chance..Espoir .. cela devrait résoudre votre problème

0
Randhish kumar

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 un espace libre de 0 Ko sur le disque dur du serveur.

0
drinovc

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 ai redémarré le serveur et le noclassdefinitionerror était parti et le problème a été résolu.

0
Ankit Kachchhi