iReport startet JRE 8 nicht


86

Ich habe den iReport 4.5 mit dem Windows-Installationsprogramm heruntergeladen und installiert. Wenn ich jedoch versuche, den iReport zu starten, wird der Begrüßungsbildschirm angezeigt, aber nicht gestartet.

Meine JRE-Version ist 8.


3
JasperReports unterstützt Java 8 noch nicht.
Endrik

4
Es scheint nicht beabsichtigt zu sein, Java 8 zu unterstützen. IReport befindet sich bis Ende 2015 im Wartungsmodus ( community.jaspersoft.com/project/ireport-designer ). Jasper Studio ist jetzt das unterstützte Tool. Unter superuser.com/questions/607874/… erfahren Sie, warum es nicht funktioniert (NetBeans 7.4, auf dem iReport basiert, weist ein Kompatibilitätsproblem mit Java 8 auf). Die Lösung von xtsoler funktioniert, obwohl Sie keine Konfigurationsdateien ändern oder jre7 in ein spezielles Verzeichnis stellen müssen, können Sie iReport einfach starten und auf jre verweisen:ireport --jdk /my/path/to/jre7
Glenn

Antworten:


148

Wenn Sie ältere Java-Versionen nicht installieren möchten, haben Sie folgende Möglichkeiten:

1) Laden Sie den iReport-5.6.0.zip von https://sourceforge.net/projects/ireport/files/iReport/iReport-5.6.0/ herunter.

2) Laden Sie jre-7u67-windows-x64.tar.gz (das in einem Teer verpackte) von https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261 herunter .html

3) Extrahieren Sie den iReport und werfen Sie in den extrahierten Ordner, der die Ordner bin und etc enthält, den jre. Wenn Sie beispielsweise zweimal jre-7u67-windows-x64.tar.gz entpacken, erhalten Sie einen Ordner mit dem Namen jre1.7.0_67. Legen Sie diesen Ordner im Verzeichnis iReport-5.6.0 ab:

Geben Sie hier die Bildbeschreibung ein

Gehen Sie dann in den Ordner etc, bearbeiten Sie die Datei ireport.conf und fügen Sie die folgende Zeile hinzu:

Für Windows jdkhome = ". \ Jre1.7.0_67"

Für Linux jdkhome = "./ jre1.7.0_67"

Hinweis: Die Version kann sich ändern! nach Ihrem Download von 1.7

Geben Sie hier die Bildbeschreibung ein

Wenn Sie jetzt ireport_w.exe aus dem Ordner bin im iReport-Verzeichnis ausführen, sollte es einwandfrei geladen werden.


2
Das Hinzufügen des JDKHOME hat es für mich getan. Auch für ältere Versionen: 4.7.0 und 4.1.2
Dimitri Dewaele

Das hat den Trick für mich getan. Ich habe Java 8, ich habe eine andere Version verwendet: 1.7.0.79.
Noldy

2
Nur um zu bestätigen, dass das Problem, nicht mit Java 8 zu arbeiten, mindestens bis zur Version 5.6.0 (die aktuellste zum Zeitpunkt des Kommentierens) besteht
Hubert Schumacher

1
Ein Teil von Schritt 3, in dem die Java-Installation in den Ordner von iReport gestellt wird, ist nicht erforderlich. Grundsätzlich kann man es überall platzieren und ich würde es niemals irgendwo anders platzieren, als es sein soll: Ordner "Programme". Überprüfen Sie auch andere Antworten ..
BlondCode

Wie du willst. Der Punkt hier ist jedoch, dass Sie diesen alten JRE nur zum Booten dieses Ireports benötigen.
Xtsoler

57

deinstalliere nichts. Ein System mit mehreren Java-Versionen funktioniert einwandfrei. und Sie müssen Ihre Umgebungsvariablen (z. B. java_home, path usw.) nicht aktualisieren.

Ja, ireports 3.6.1 benötigt Java 7 (funktioniert nicht mit Java 8).

Alles, was Sie tun müssen, ist C: \ Programme \ Jaspersoft \ iReport-nb-3.6.1 \ etc \ ireport.conf zu bearbeiten:

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

Unter Linux (keine Leerzeichen und Standarddateipfade) ist es viel einfacher. Behalte dein Java 8 für andere interessante Projekte ...


16

iReport funktioniert nicht mit Java 8.

  • Wenn noch nicht installiert, laden Sie Java 7 herunter und installieren Sie es
  • Suchen Sie das Installationsverzeichnis Ihres iReport und öffnen Sie die Datei: ireport.conf

(Sie finden es hier: iReport-xxx \ etc \)

ändere diese Zeile:

#jdkhome="/path/to/jdk"

dazu (wenn dies nicht Ihr Java 7-Installationsverzeichnis ist, ersetzen Sie den Parameterwert zwischen "" s durch den Pfad Ihres installierten Java 7):

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

funktioniert auch mit einer alten Version wie iReport-3.7.2
BlondCode

Um verständlich zu sein: Dies ändert nichts an Ihren (oder den) Java-Standardeinstellungen Ihres Unternehmens. Deshalb empfehle ich es. Dies ändert das Verhalten von iReport: iReport sucht nach dem JDK, nach dem Sie suchen sollen, anstatt die Java-Standardeinstellungen zu verwenden. Unabhängig davon, ob Sie Ihr Java in Zukunft aktualisieren werden, funktioniert iReport so lange, bis das alte Java irgendwo auf Ihrem Computer vorhanden ist. :) Ich werde die Registry-Hacker nicht ablehnen, aber ich würde nicht sagen, dass Registry-Hacking eine Lösung ist ..
BlondCode

8

Während ireport Java8 offiziell nicht unterstützt, gibt es eine ziemlich einfache Möglichkeit, ireport (getestet mit ireport 5.1) mit Java 8 zum Laufen zu bringen. Das Problem liegt tatsächlich in Netbeans. Es gibt einen sehr einfachen Patch, vorausgesetzt, Sie interessieren sich nicht für die verbesserte Sicherheit in Java 8:

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

Ich habe nicht einmal die genaue NetBeans-Quelle verwendet, die von ireport verwendet wird. Ich habe gerade die neueste Version von WeakListenerImpl.java vollständig aus dem obigen Repository heruntergeladen und sie im Verzeichnis ireport mit platform9 / lib / org-openide-util.jar im Compiler-Klassenpfad kompiliert

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

Ich vermeide es, Eclipse auszuführen, nur um Jaspis-Berichte so lange wie möglich zu bearbeiten. Der auf Netbeans basierende Ireport ist so viel leichter. Das Ausführen von Eclipse ähnelt der Verwendung von Emacs.


1
Es bezieht sich auf diesen Fehler: netbeans.org/bugzilla/show_bug.cgi?id=229191 iReport wurde jedoch nicht aktualisiert.
Gilberto

2
Danke danke danke! Du bist ein Lebensretter! Ich habe versucht, ireport 5.6 mit Java 8 auszuführen und festgestellt, dass es nicht gestartet wurde. Dann habe ich versucht, Java 7 herunterzuladen, aber Oracle erlaubt nur Oracle-Kunden, es herunterzuladen (!) ... Also bin ich gegen eine Wand gestoßen, bis ich auf Ihre Lösung gestoßen bin, die großartig funktioniert hat! Du hast meinen Tag gerettet :)
Serafeim

1
Dies ist wirklich eine viel bessere Lösung als die Installation von JDK7. Ich weiß nicht, warum es so wenige Stimmen hat. Während der einzeilige Patch eine verbesserte JDK8-Sicherheit deaktiviert, ist das Ergebnis nicht schlechter (und wahrscheinlich besser) als unter JDK7.
Stuart Gathman

5

Es funktioniert nur mit JRE 1.7. Laden Sie es einfach herunter und extrahieren Sie es an Ihren bevorzugten Speicherort

und verwenden Sie den folgenden Befehl, um den iReport zu öffnen

ireport --jdkhome Path To JDK Home

4

Ich habe dies auf meinem PC behoben. In meiner Umgebung war iReport iReport-5.1.0. Sowohl JDK 7 als auch JDK 8 wurden installiert.

iReport wurde jedoch nicht geladen

Fix: - 1. Suchen Sie die Datei iReport.conf // C: \ Programme (x86) \ Jaspersoft \ iReport-5.1.0 \ etc.

  1. Öffnen Sie es im Texteditor

  2. Kopieren Sie Ihren JDK-Installationspfad // C: \ Programme (x86) \ Java \ jdk1.8.0_60

  3. Fügen Sie jdkhome = in die Datei ireport.conf ein. jdkhome = "C: / Programme (x86) /Java/jdk1.8.0_60"

Geben Sie hier die Bildbeschreibung ein

Jetzt funktioniert iReport


1

Mit iReport 4.7.1, nach der Einstellung jdkhome in etc/ireport.conf, ireport.exestartet nicht. Kein Spritzen, kein Fenster.

Wenn ich ireport_w.exein einem cmd starte, erhalte ich folgende Meldung:

Bei der Initialisierung der VM ist ein Fehler aufgetreten

Es konnte nicht genügend Speicherplatz für den Objekthaufen reserviert werden

Fehler: Die Java Virtual Machine konnte nicht erstellt werden.

Fehler: Eine schwerwiegende Ausnahme ist aufgetreten. Das Programm wird geschlossen.

Lösung: In der Datei etc / ireport.conf habe ich in der Zeile, die mit default_options beginnt, den Wert von -J-XX:MaxPermSize 256 m anstelle von 512 m reduziert

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

Stellen Sie sicher, dass Sie keine _JAVA_OPTIONSsolchen Umgebungsvariablen haben , die diese Einstellungen überschreiben. Ich hatte eine solche Umgebungsvariable, die die Heap-Größe auf 1 GB festlegte. Hier hatte es Vorrang vor den default_optionsEinstellungen. Nach dem Löschen wurde iReport erfolgreich ausgeführt.
ADTC

0

Ich hatte es satt, auf Google zu suchen, wie man iReport mit Java 8 ausführt.

Ich habe alles wie im Internet gesagt gemacht, aber ich weiß nicht, warum sie nicht für mich gearbeitet haben.

Dann ändere ich meinen Computer JDK Aktuelle Version von 1.8 auf 1.7 mit dem Registrierungseditor.

Jetzt funktioniert es gut.

Aktuelle Version ändern

Start => Geben Sie regedit ein (drücken Sie die Eingabetaste) => HKEY_LOCAL_MACHINE => SOFTWARE => JavaSoft => Java Development Kit => Ändern Sie den Schlüsselwert von CurrentVersion von 1,8 auf 1,7


0

Für mich hat die Kombination der Antwort von Stuart Gathman und Raviath in diesem Thread in Windows Server 2016 für iReport 5.6.0 den Trick getan.

Außerdem habe ich jdk8 einen Symlink in C: \ program files \ java \ jre7 hinzugefügt:

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

weil iReport sich ständig beschwerte, dass es java.exe nicht in C: \ program files \ java \ jre7 \ bin \ finden konnte - Also habe ich ihm die verfügbare java.exe (in meinem Fall V8.181) unter dem gewünschten Pfad und ihr zugestellt schluckte es gerne.


0

Ich habe IReport 5.6 mit Java 7 installiert: funktioniert nicht

Ich habe versucht, Java 6 zu installieren und den Pfad zur Datei "ireport.conf" wie im angehängten Screenshot hinzugefügt, und es hat gut funktioniert: D.Geben Sie hier die Bildbeschreibung ein

Die Schritte sind also:

 Install IReport 5.6
 Install JDK 6
 Edit "ireport.conf" file like the below image and Enjoy ;)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.