iReport ne démarre pas avec JRE 8


88

J'ai téléchargé et installé iReport 4.5 à l'aide du programme d'installation de Windows. Mais lorsque j'essaye de démarrer l'iReport, il affiche l'écran de démarrage mais ne démarre pas.

Ma version JRE est la 8.


3
JasperReports ne prend pas encore en charge Java 8.
Endrik

4
Et il semble qu'il n'y ait aucune intention de prendre en charge Java 8. iReport est en mode maintenance jusqu'à fin 2015 ( community.jaspersoft.com/project/ireport-designer ). Jasper Studio est désormais l'outil pris en charge. Voir superuser.com/questions/607874/… pour savoir pourquoi cela ne fonctionne pas (NetBeans 7.4, sur lequel iReport est basé, a un problème de compatibilité avec Java 8). La solution de xtsoler fonctionne, bien que vous n'ayez pas à modifier les fichiers de configuration ou à mettre jre7 dans un répertoire spécial, vous pouvez simplement lancer iReport en pointant vers le jre:ireport --jdk /my/path/to/jre7
Glenn

Réponses:


150

Il existe un autre moyen si vous ne souhaitez pas installer d'anciennes versions de Java, vous pouvez procéder comme suit:

1) Téléchargez le iReport-5.6.0.zip depuis https://sourceforge.net/projects/ireport/files/iReport/iReport-5.6.0/

2) Téléchargez jre-7u67-windows-x64.tar.gz (celui emballé dans un tar) depuis https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261 .html

3) Extrayez l'iReport et dans le dossier extrait qui contient les dossiers bin et etc, jetez le fichier jre. Par exemple, si vous décompressez deux fois le fichier jre-7u67-windows-x64.tar.gz, vous vous retrouvez avec un dossier nommé jre1.7.0_67. Placez ce dossier dans le répertoire iReport-5.6.0:

entrez la description de l'image ici

puis allez dans le dossier etc et éditez le fichier ireport.conf et ajoutez-y la ligne suivante:

Pour Windows jdkhome = ". \ Jre1.7.0_67"

Pour Linux jdkhome = "./ jre1.7.0_67"

Remarque: la version jre peut changer! selon votre téléchargement de 1.7

entrez la description de l'image ici

maintenant, si vous exécutez ireport_w.exe à partir du dossier bin dans le répertoire iReport, il devrait se charger correctement.


2
L'ajout du jdkhome l'a fait pour moi. Aussi pour les anciennes versions: 4.7.0 et 4.1.2
Dimitri Dewaele

Cela a fait l'affaire pour moi. J'ai Java 8, j'ai utilisé une version différente: 1.7.0.79.
Noldy le

2
juste pour confirmer que le problème de ne pas travailler avec Java 8 est au moins jusqu'à la version 5.6.0 (la plus récente au moment du commentaire)
Hubert Schumacher

1
Une partie de l'étape 3 consistant à placer l'installation de Java dans le dossier d'iReport n'est pas nécessaire. Fondamentalement, vous pouvez le mettre n'importe où et je ne le mettrais jamais ailleurs, alors il est censé être: dossier Program Files. Vérifiez également les autres réponses.
BlondCode

Comme vous voudrez. Cependant, le point ici est que vous n'avez besoin de cet ancien fichier jre que pour démarrer cet ireport.
xtsoler

59

ne désinstallez rien. un système avec plusieurs versions de java fonctionne très bien. et vous n'avez pas besoin de mettre à jour vos variables d'environnement (par exemple, java_home, chemin, etc.).

oui, ireports 3.6.1 a besoin de java 7 (ne fonctionne pas avec java 8).

tout ce que vous avez à faire est de modifier C: \ Program Files \ Jaspersoft \ iReport-nb-3.6.1 \ etc \ ireport.conf:

# default location of JDK/JRE, can be overridden by using --jdkhome <dir> switch
jdkhome="C:/Program Files/Java/jdk1.7.0_45"

sur linux (pas d'espaces et de chemins de fichiers standard), c'est beaucoup plus facile. gardez votre java 8 pour d'autres projets intéressants ...


17

iReport ne fonctionne pas avec java 8.

  • s'il n'est pas encore installé, téléchargez et installez java 7
  • recherchez le répertoire d'installation de votre iReport et ouvrez le fichier: ireport.conf

(vous le trouverez ici: iReport-xxx \ etc \)

changez cette ligne:

#jdkhome="/path/to/jdk"

à ceci (si ce n'est pas votre répertoire d'installation java 7, remplacez la valeur du paramètre entre "" s par le chemin de votre java 7 installé):

jdkhome="C:\Program Files\Java\jdk1.7.0_67"

fonctionne également avec une ancienne version comme iReport-3.7.2
BlondCode

Donc, pour être compréhensible: cela ne change pas vos paramètres Java par défaut (ou ceux de votre entreprise), c'est pourquoi je le recommande. Cela modifie le comportement d'iReport: iReport recherchera le jdk que vous lui avez demandé de rechercher au lieu d'utiliser les paramètres Java par défaut. Peu importe que vous mettiez à jour votre Java à l'avenir, iReport fonctionnera toujours jusqu'à ce que l'ancien Java existe quelque part sur votre machine. :) Je ne voterai pas contre les pirates de registre, mais je ne dirais pas que le piratage de registre est une solution ..
BlondCode

9

Bien qu'ireport ne supporte pas officiellement java8, il existe un moyen assez simple de faire fonctionner ireport (testé avec ireport 5.1) avec Java 8. Le problème vient en fait de netbeans. Il existe un correctif très simple, en supposant que vous ne vous souciez pas de l'amélioration de la sécurité de Java 8:

http://hg.netbeans.org/jet-main/diff/3238e03c676f/openide.util/src/org/openide/util/WeakListenerImpl.java

Je n'ai même pas utilisé la source exacte de netbeans utilisée par ireport. Je viens de télécharger le dernier WeakListenerImpl.java dans son intégralité à partir du référentiel ci-dessus et je l'ai compilé dans le répertoire ireport avec platform9 / lib / org-openide-util.jar dans le chemin de classe du compilateur

cd blah/blah/iReport-5.1.0
wget http://hg.netbeans.org/jet-main/raw-file/3238e03c676f/openide.util/src/org/openide/util/WeakListenerImpl.java
javac -d . -cp platform9/lib/org-openide-util.jar WeakListenerImpl.java
zip -r platform9/lib/org-openide-util.jar org

J'évite d'exécuter eclipse juste pour éditer les rapports Jasper aussi longtemps que possible. L'ireport basé sur Netbeans est tellement plus léger. Exécuter Eclipse, c'est comme utiliser emacs.


1
Il concerne ce bogue: netbeans.org/bugzilla/show_bug.cgi?id=229191 Mais iReport n'a pas été mis à jour.
Gilberto

2
Merci merci merci! Tu es un sauveur! J'ai essayé d'exécuter ireport 5.6 avec Java 8 et j'ai vu qu'il ne démarre pas. Ensuite, j'ai essayé de télécharger java 7 mais oracle n'autorise que les clients d'Oracle à le télécharger (!) ... Donc, je me suis heurté à un mur jusqu'à ce que je tombe sur votre solution qui fonctionnait très bien! Vous avez sauvé ma journée :)
Serafeim

1
C'est vraiment une bien meilleure solution que d'installer JDK7. Je ne sais pas pourquoi il a si peu de voix. Bien que le correctif d'une ligne désactive une sécurité JDK8 améliorée, le résultat n'est pas pire (et probablement meilleur) que de fonctionner sous JDK7.
Stuart Gathman

5

Il ne fonctionne qu'avec JRE 1.7, téléchargez-le et extrayez-le à votre emplacement préféré

et utilisez la commande suivante pour ouvrir l'iReport

ireport --jdkhome Path To JDK Home

4

J'ai corrigé cela sur mon PC, sur mon environnement iReport était iReport-5.1.0, jdk 7 et jdk 8 avaient été installés.

mais iReport ne s'est pas chargé

correction: - 1. Recherchez le fichier iReport.conf // C: \ Program Files (x86) \ Jaspersoft \ iReport-5.1.0 \ etc

  1. Ouvrez-le sur l'éditeur de texte

  2. copiez votre chemin d'installation jdk // C: \ Program Files (x86) \ Java \ jdk1.8.0_60

  3. ajoutez jdkhome = dans le fichier ireport.conf jdkhome = "C: / Program Files (x86) /Java/jdk1.8.0_60"

entrez la description de l'image ici

Maintenant, iReport fonctionnera


1

Avec ireport 4.7.1, après avoir configuré jdkhome etc/ireport.conf, ireport.exene démarre pas. Pas d'éclaboussure, pas de fenêtre.

Lorsque je lance ireport_w.exedans un cmd, je reçois ce message:

Une erreur s'est produite lors de l'initialisation de la VM

Impossible de réserver suffisamment d'espace pour le tas d'objets

Erreur: impossible de créer la machine virtuelle Java.

Erreur: une exception fatale s'est produite. Le programme se terminera.

Solution: dans le fichier etc / ireport.conf, sur la ligne commençant par default_options, j'ai réduit la valeur de -J-XX:MaxPermSize à 256m au lieu de 512m

default_options="--branding ireport -J-Xms256m -J-Xmx512m
    -J-Dorg.netbeans.ProxyClassLoader.level=1000 -J-XX:MaxPermSize=256m"

Assurez-vous qu'aucune variable d'environnement comme _JAVA_OPTIONScelle-ci ne remplacera ces paramètres. J'avais une telle variable d'environnement qui définissait la taille du tas à 1 Go. Il a eu la priorité sur les default_optionsparamètres ici. Une fois supprimé, iReport s'est exécuté avec succès.
ADTC

0

J'étais fatigué de chercher sur google comment exécuter iReport avec java 8.

J'ai tout fait comme indiqué sur Internet, mais je ne sais pas pourquoi ils ne fonctionnaient pas pour moi.

Ensuite, je change le formulaire de la version actuelle du JDK de mon ordinateur 1.8 à 1.7 à l'aide de l'éditeur de registre.

Maintenant ça marche bien.

Pour changer la version actuelle

Démarrer => Tapez regedit (Appuyez sur Entrée) => HKEY_LOCAL_MACHINE => SOFTWARE => JavaSoft => Kit de développement Java => Changer la valeur de la clé de CurrentVersion de 1.8 à 1.7


0

Pour moi, la combinaison de la réponse de Stuart Gathman et de Raviath dans ce fil a fait l'affaire dans Windows Server 2016 pour iReport 5.6.0.

De plus, j'ai ajouté un lien symbolique dans C: \ program files \ java \ jre7 vers jdk8 comme ceci:

cmd /c mklink /d "C:\program files\java\jre7\bin" "C:\Program Files\Java\jdk1.8.0_181\bin"

parce que iReport se plaignait constamment qu'il ne pouvait pas trouver java.exe dans C: \ program files \ java \ jre7 \ bin \ - Je lui ai donc servi le java.exe disponible (dans mon cas V8.181) sous le chemin souhaité et il l'avala volontiers.


0

J'ai installé IReport 5.6 avec Java 7: ne fonctionne pas

J'ai essayé d'installer Java 6 et j'ai ajouté le chemin d'accès au fichier "ireport.conf" comme la capture d'écran ci-jointe et cela a bien fonctionné: Dentrez la description de l'image ici

Les étapes sont donc:

 Install IReport 5.6
 Install JDK 6
 Edit "ireport.conf" file like the below image and Enjoy ;)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.