Impossible d'initialiser class net.sf.jasperreports.moteur.util.JRStyledTextParser

j'essaie d'afficher mes rapports sur le navigateur , mais je reçois cette erreur:

enter image description here

ce qui est étrange, c'est que cela ne se produit que lorsque j'essaie de générer les rapports à partir de la version installée sur le serveur, mais pas lorsque je le fais localement à partir de mon pc

avez-vous une idée de ce qui se passe ?

15
demandé sur eddy 2011-02-15 03:06:45

16 réponses

cela peut aussi bien être causé par un répertoire Java 'temp' manquant/inaccessible. Dans La Police.java, les fichiers temporaires sont créés:

Files.createTempFile("+~JF", ".tmp").toFile();

sur un système, le dir' temp ' manquait sous le dossier Tomcat mais Java a été configuré pour l'utiliser:

-Djava.io.tmpdir=C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\temp

BTW. la première fois, après avoir redémarré Tomcat, Le service lançait en fait une IOException, mais ensuite JasperReports a mis en cache quelque chose et lors des appels ultérieurs, la trace de la pile était exactement comme indiqué ici.

7
répondu Stepan 2014-05-08 00:34:38

cela ressemble à un problème de mode sans tête. Vous devez définir l' java.awt.headless propriété true. Qui peut être fait en utilisant:

static {
    System.setProperty("java.awt.headless", "true");
}

Ou, par réglage de la tête de la propriété dans votre démarrage de tomcat commande -Djava.awt.headless=true

en outre, vous pouvez lire plus sur pourquoi cela est nécessaire, vous pouvez lire sur le mode sans tête ici

7
répondu Master.Aurora 2014-06-05 11:58:42

il s'agit d'un bocal manquant dans le problème du chemin de classe.

j'ai eu ce problème et j'ai trouvé qu'en ajoutant les pots manquants au chemin de classe il a résolu le problème.

extrait de l'article suivant java.dzone.com l'article J'ai trouvé que les pots minimaux nécessaires sont...Maintenant, Les versions chiffres ont changé, mais avec ces bibliothèques seulement j'ai réussi à l'obtenir travailler.

  • jasperreports-2.0.4.jar
  • communs-digesteur-1.7.jar
  • communes-collections-2.1.jar (commons-collections.jar)
  • commons-logging-1.0.2.jar
  • commons-beanutils.jar
  • iText-2.0.7.jar (utilisé infor PDF l'exportation)
5
répondu Mark Ellul 2011-05-05 10:14:06

pour ceux qui sont encore confrontés à ce problème: sur Ubuntu Server 12.04 avec headless OpenJDK JRE, il a été simplement résolu par

apt-get install ttf-dejavu-extra
5
répondu zwets 2013-05-21 07:15:28

Pour résoudre le problème, procédez de la manière suivante:

  1. Commutation de l'Open JDK de Sun JDK
  2. Installed MS Core Fonts
  3. Emballés JasperReport bibliothèque de polices pot avec l'application
4
répondu Isnah 2011-09-27 17:56:19

cela peut être un problème de mémoire, redémarrer le serveur.

4
répondu fernando 2011-11-14 12:34:57

j'ai eu cette erreur lors du déploiement de springboot app (y compris jasper reporting) dans Docker container.Le problème était avec openjdk: 8-jdk-alpine que j'ai utilisé pour construire un environnement Docker container. Il y a un bug dans le support des polices. Donc je suis passé à openjdk: 8-jre (ou OpenJDK 7 versions vont aussi aider) et ça a fonctionné pour moi. j'ai passé des jours à corriger ce bug.

2
répondu Isuru Nuwanthilaka 2018-08-04 17:26:59

un peu tard, Mais voici pourquoi nous avons eu ce problème... Nous avons récemment commencé à développer avec IntelliJ au lieu de Eclipse. Nous avons simplement oublié D'exécuter IntelliJ en tant qu'administrateur... Nous avions fait cela avec Eclipse depuis longtemps déjà, mais nous n'y avions tout simplement pas pensé avec IntelliJ. En fin de compte, je suppose que les polices n'ont pas été trouvées ou un dossier n'a pas été trouvé car il n'y avait pas suffisamment de droits pour lire/écrire sur le lecteur C.

1
répondu Valentin Grégoire 2017-03-20 09:06:20

Eu la même erreur apparemment JRStyledTextParser est à l'aide de la dépendance à partir de xml-api En ajoutant xml-apis Je l'ai corrigé

<dependency>
    <groupId>xml-apis</groupId>
    <artifactId>xml-apis</artifactId>
    <version>1.4.01</version>
</dependency>
0
répondu Denys 2014-05-14 23:59:44

dans mon cas j'utilisais des polices Arial pour cela j'ai configuré des polices arial dans irfonts.XML qui était comme ci-dessous



< normal> < / normal>















< / fontFamily>

mais il doit être de la forme :



< normal><

/normal>






[CDATA[fonts / arialbi.ttf]]>



[CDATA[true]]>< / pdfEmbedded>

< / fontFamily>

ainsi leur était un espace avant l'étiquette de fin de chaque étiquette dans la configuration ci-dessus fichier.

Je l'ai réparé en enlevant l'espace entre eux.

0
répondu user2870979 2014-08-27 13:06:54

j'ai cherché plusieurs heures pour le même problème, et ma solution est aucun des autres mentionnés.

en raison d'une mauvaise mise à jour de la version de mes rapports jasper, j'avais plusieurs versions du fichier JAR jasperreports sur mon classpath. Assurez-vous que vous n'avez qu'un seul fichier JAR jasperreports...

0
répondu W. Goeman 2016-03-15 00:28:17

cela pourrait aider, j'ai eu la même erreur et toutes les autres solutions n'ont pas fonctionné.

Je l'ai corrigé en mettant java8 à jour.

0
répondu plrenaudin 2016-05-19 15:30:22

dans notre cas, il a aidé à supprimer le serveur temp (donc en s'assurant qu'il n'y a pas de duplicités jar) et redémarrer le serveur. Conseil: essayez ceci au cas où l'erreur commencerait à se produire après une nouvelle version (mais a fonctionné avant et rien de pertinent n'a changé dans la version)

0
répondu Josef Bodnar 2016-09-08 12:00:43

j'ai fait face au même problème sur ma machine de développement. Fondamentalement, il s'est produit en raison de problème dans le serveur d'application ( Apache tomcat)

en gros, j'ai accidentellement supprimé le " temp " dossier dans la racine du serveur. Jasper ne peut donc pas compiler le rapport et produire le rapport.

0
répondu Chinthaka Dinadasa 2017-06-19 11:04:22

dans mon cas, le problème était avec le jdk8 que j'utilisais pour construire l'image du docker, mais après quelques recherches, je suis passé à jre. Ça a réparé mon bug. Je pense que vous pouvez essayer n'importe quelle image plutôt que d'utiliser jdk8.

0
répondu Isuru Nuwanthilaka 2018-09-21 05:18:35

vous pouvez essayer de faire un déclassement en jdk7, ça me va.

désolé mon anglais!

-1
répondu RRN 2017-10-30 18:31:12