iReport nie rozpoczyna korzystania z JRE 8


88

Pobrałem i zainstalowałem iReport 4.5 przy użyciu instalatora Windows. Ale kiedy próbuję uruchomić iReport, pokazuje ekran powitalny, ale się nie uruchamia.

Moja wersja JRE to 8.


3
JasperReports jeszcze nie obsługuje Java 8.
Endrik

4
Wydaje się, że nie ma zamiaru obsługiwać Javy 8. iReport jest w trybie konserwacji do końca 2015 roku ( community.jaspersoft.com/project/ireport-designer ). Obsługiwanym narzędziem jest teraz Jasper Studio. Zobacz superuser.com/questions/607874/… , aby dowiedzieć się, dlaczego to nie działa (NetBeans 7.4, na którym oparty jest iReport, ma problem ze zgodnością z Javą 8). Rozwiązanie xtsoler działa, chociaż nie musisz zmieniać plików konfiguracyjnych ani umieszczać jre7 w specjalnym katalogu, możesz po prostu uruchomić iReport wskazujący na jre:ireport --jdk /my/path/to/jre7
Glenn

Odpowiedzi:


150

Jest inny sposób, jeśli nie chcesz mieć zainstalowanych starszych wersji Java, możesz wykonać następujące czynności:

1) Pobierz iReport-5.6.0.zip z https://sourceforge.net/projects/ireport/files/iReport/iReport-5.6.0/

2) Pobierz jre-7u67-windows-x64.tar.gz (ten zapakowany w tar) z https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261 .html

3) Rozpakuj iReport i do wyodrębnionego folderu, który zawiera bin i etc foldery wrzuć do jre. Na przykład, jeśli rozpakujesz dwukrotnie plik jre-7u67-windows-x64.tar.gz, otrzymasz folder o nazwie jre1.7.0_67. Umieść ten folder w katalogu iReport-5.6.0:

wprowadź opis obrazu tutaj

a następnie przejdź do folderu etc i edytuj plik ireport.conf i dodaj do niego następujący wiersz:

W systemie Windows jdkhome = ". \ Jre1.7.0_67"

W systemie Linux jdkhome = "./ jre1.7.0_67"

Uwaga: wersja jre może ulec zmianie! zgodnie z pobraniem wersji 1.7

wprowadź opis obrazu tutaj

teraz, jeśli uruchomisz ireport_w.exe z folderu bin w katalogu iReport, powinien on załadować się dobrze.


2
Dodanie jdkhome zrobiło to za mnie. Również dla starszych wersji: 4.7.0 i 4.1.2
Dimitri Dewaele

To załatwiło sprawę dla mnie. Mam Javę 8, użyłem innej wersji: 1.7.0.79.
Noldy,

2
tylko po to, aby potwierdzić, że problem braku pracy z Javą 8 trwa co najmniej do wersji 5.6.0 (najbardziej aktualnej w momencie komentowania)
Hubert Schumacher

1
Część kroku 3, polegająca na umieszczeniu instalacji Java w folderze iReport, jest niepotrzebna. Zasadniczo możesz go umieścić w dowolnym miejscu i nigdy nie umieszczałbym go nigdzie indziej, niż powinien: folder Program Files. Sprawdź też inne odpowiedzi ...
BlondCode

Dopasuj się. Chodzi jednak o to, że ten stary jre jest potrzebny tylko do uruchamiania tego raportu.
xtsoler

59

nie odinstalowuj niczego. system z wieloma wersjami java działa dobrze. i nie musisz aktualizować zmiennych środowiskowych (np. java_home, ścieżka itp.).

tak, ireports 3.6.1 wymaga java 7 (nie działa z java 8).

wszystko, co musisz zrobić, to edytować 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"

na Linuksie (bez spacji i standardowych ścieżek plików) jest to o wiele łatwiejsze. zachowaj java 8 dla innych interesujących projektów ...


17

iReport nie działa z Javą 8.

  • jeśli jeszcze nie jest zainstalowany, pobierz i zainstaluj java 7
  • znajdź katalog instalacyjny swojego iReport i otwórz plik: ireport.conf

(znajdziesz go tutaj: iReport-xxx \ etc \)

zmień tę linię:

#jdkhome="/path/to/jdk"

do tego (jeśli nie jest to katalog instalacyjny java 7, zamień wartość parametru między „” na ścieżkę zainstalowanej java 7):

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

działa z takimi na starszej wersji jak iReport-3.7.2
BlondCode

A więc dla zrozumienia: nie zmienia to domyślnych ustawień Javy (lub Twojej firmy), dlatego polecam. Zmienia to zachowanie iReport: iReport wyszuka jdk, o którym kazałeś mu szukać, zamiast używać domyślnych ustawień Java. Bez względu na to, czy w przyszłości zaktualizujesz Javę, iReport będzie nadal działał, dopóki stara Java nie będzie istniała gdzieś na twoim komputerze. :) Nie będę negatywnie oceniać hakerów rejestru, ale nie powiedziałbym, że hackowanie rejestru jest rozwiązaniem ...
BlondCode

9

Chociaż ireport oficjalnie nie obsługuje java8, istnieje dość prosty sposób, aby ireport (testowany z ireport 5.1) działał z Javą 8. Problem występuje w rzeczywistości w netbeans. Istnieje bardzo prosta łatka, zakładając, że nie zależy Ci na poprawie bezpieczeństwa w Javie 8:

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

Nie użyłem nawet dokładnego źródła netbeans używanego przez ireport. Właśnie pobrałem najnowszy WeakListenerImpl.java w całości z powyższego repozytorium i skompilowałem go w katalogu ireport z platform9 / lib / org-openide-util.jar w ścieżce klas kompilatora

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

Unikam uruchamiania zaćmienia tylko po to, aby edytować raporty jaspisów tak długo, jak mogę. Raport oparty na netbeans jest o wiele lżejszy. Uruchamianie Eclipse jest jak używanie emacsa.


1
Dotyczy tego błędu: netbeans.org/bugzilla/show_bug.cgi?id=229191 Ale iReport nie został zaktualizowany.
Gilberto

2
Dziekuję Dziekuję Dziękuję! Jesteś ratownikiem! Próbowałem uruchomić ireport 5.6 z Javą 8 i zobaczyłem, że się nie uruchamia. Potem próbowałem pobrać java 7, ale Oracle pozwala tylko klientom Oracle na pobranie jej (!) ... Więc uderzałem w ścianę, dopóki nie natknąłem się na twoje rozwiązanie, które działało świetnie! Uratowałeś mi dzień :)
Serafeim

1
To naprawdę dużo lepsze rozwiązanie niż instalacja JDK7. Nie wiem, dlaczego ma tak mało głosów. Chociaż poprawka jednoliniowa wyłącza niektóre ulepszone zabezpieczenia JDK8, wynik nie jest gorszy (i prawdopodobnie lepszy) niż uruchomienie pod JDK7.
Stuart Gathman,

5

Działa tylko z JRE 1.7, wystarczy go pobrać i wypakować do preferowanej lokalizacji

i użyj następującego polecenia, aby otworzyć iReport

ireport --jdkhome Path To JDK Home

4

Naprawiłem to na moim komputerze, na moim środowisku iReport był iReport-5.1.0, oba jdk 7 i jdk 8 zostały zainstalowane.

ale iReport nie został załadowany

poprawka: - 1. Znajdź iReport.conf // C: \ Program Files (x86) \ Jaspersoft \ iReport-5.1.0 \ etc

  1. Otwórz go w edytorze tekstu

  2. skopiuj ścieżkę instalacyjną jdk // C: \ Program Files (x86) \ Java \ jdk1.8.0_60

  3. dodaj jdkhome = do pliku ireport.conf jdkhome = "C: / Program Files (x86) /Java/jdk1.8.0_60"

wprowadź opis obrazu tutaj

Teraz iReport będzie działać


1

W ireport 4.7.1, po ustawieniu jdkhome w etc/ireport.conf,ireport.exe nie uruchamia się. Bez plusku, bez okna.

Kiedy uruchamiam ireport_w.exew cmd, otrzymuję następujący komunikat:

Wystąpił błąd podczas inicjowania maszyny wirtualnej

Nie można zarezerwować wystarczającej ilości miejsca na stertę obiektów

Błąd: nie można utworzyć wirtualnej maszyny języka Java.

Błąd: wystąpił krytyczny wyjątek. Program zostanie zamknięty.

Rozwiązanie: W pliku etc / ireport.conf w linii zaczynającej się od default_options zmniejszyłem wartość -J-XX:MaxPermSize do 256m zamiast 512m

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

Upewnij się, że nie masz żadnych takich zmiennych środowiskowych _JAVA_OPTIONS, które zastąpią te ustawienia. Miałem taką zmienną środowiskową, która ustawiała rozmiar sterty na 1 GB. Miał on pierwszeństwo przed default_optionsustawieniami tutaj. Po usunięciu iReport działał pomyślnie.
ADTC,

0

Byłem zmęczony szukaniem w Google, jak uruchomić iReport w Javie 8.

Zrobiłem wszystko, co zostało powiedziane w Internecie, ale nie wiem, dlaczego nie działały dla mnie.

Następnie zmieniam aktualną wersję JDK mojego komputera z 1.8 na 1.7 za pomocą Edytora rejestru.

Teraz działa dobrze.

Aby zmienić bieżącą wersję

Start => Wpisz regedit (naciśnij Enter) => HKEY_LOCAL_MACHINE => SOFTWARE => JavaSoft => Java Development Kit => Zmień wartość klucza CurrentVersion z 1.8 na 1.7


0

Dla mnie połączenie odpowiedzi Stuarta Gathmana i Raviatha w tym wątku załatwiło sprawę w systemie Windows Server 2016 dla iReport 5.6.0.

Ponadto dodałem link symboliczny w C: \ program files \ java \ jre7 do jdk8 w następujący sposób:

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

ponieważ iReport ciągle narzekał, że nie może znaleźć java.exe w C: \ program files \ java \ jre7 \ bin \ - więc podałem mu dostępny java.exe (w moim przypadku V8.181) pod żądaną ścieżką i chętnie go połknął.


0

Zainstalowałem IReport 5.6 z Javą 7: nie działa

Próbowałem zainstalować Javę 6 i dodałem ścieżkę do pliku „ireport.conf” jak załączony zrzut ekranu i wszystko działało dobrze: Dwprowadź opis obrazu tutaj

Oto kroki:

 Install IReport 5.6
 Install JDK 6
 Edit "ireport.conf" file like the below image and Enjoy ;)
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.