iReport не запускает JRE 8


88

Я загрузил и установил iReport 4.5 с помощью установщика Windows. Но когда я пытаюсь запустить iReport, он показывает заставку, но не запускается.

Моя версия JRE - 8.


3
JasperReports пока не поддерживает Java 8.
Эндрик

4
И, похоже, нет намерения поддерживать Java 8. iReport находится в режиме обслуживания до конца 2015 года ( community.jaspersoft.com/project/ireport-designer ). Jasper Studio теперь является поддерживаемым инструментом. См. Superuser.com/questions/607874/… о том, почему это не работает (NetBeans 7.4, на котором основан iReport, имеет проблему совместимости с Java 8). Решение xtsoler работает, хотя вам не нужно изменять файлы конфигурации или помещать jre7 в специальный каталог, вы можете просто запустить iReport, указывающий на jre:ireport --jdk /my/path/to/jre7
Гленн

Ответы:


150

Есть другой способ, если вы не хотите устанавливать более старые версии Java, вы можете сделать следующее:

1) Загрузите iReport-5.6.0.zip с https://sourceforge.net/projects/ireport/files/iReport/iReport-5.6.0/

2) Загрузите jre-7u67-windows-x64.tar.gz (тот, что упакован в tar) с https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261 .html

3) Извлеките iReport и в извлеченную папку, содержащую папки bin и т. Д., Вставьте jre. Например, если вы дважды распаковываете файл jre-7u67-windows-x64.tar.gz, вы получите папку с именем jre1.7.0_67. Поместите эту папку в каталог iReport-5.6.0:

введите описание изображения здесь

а затем перейдите в папку etc и отредактируйте файл ireport.conf, добавив в него следующую строку:

Для Windows jdkhome = ". \ Jre1.7.0_67"

Для Linux jdkhome = "./ jre1.7.0_67"

Примечание: версия jre может измениться! согласно вашей загрузке 1.7

введите описание изображения здесь

теперь, если вы запустите ireport_w.exe из папки bin в каталоге iReport, он должен загрузиться нормально.


2
Добавление jdkhome сделало это за меня. Также для более старых версий: 4.7.0 и 4.1.2
Dimitri Dewaele,

Это помогло мне. У меня Java 8, использовал другую версию: 1.7.0.79.
Noldy 06

2
просто чтобы подтвердить, что проблема неработоспособности Java 8 сохраняется до версии 5.6.0 по крайней мере (самой последней на момент комментирования)
Хуберт Шумахер

1
Часть шага 3, так как установка Java в папку iReport, не требуется. По сути, вы можете положить его куда угодно, и я бы никогда не положил его в другое место, кроме как в папку Program Files. Проверьте и другие ответы ..
BlondCode 09

Одевают. Однако суть в том, что эта старая jre нужна только для загрузки этого ireport.
xtsoler

59

ничего не удаляйте. система с несколькими версиями java работает нормально. и вам не нужно обновлять переменные среды (например, java_home, путь и т. д.).

да, ireports 3.6.1 требует java 7 (не работает с java 8).

все, что вам нужно сделать, это отредактировать 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"

в Linux (без пробелов и стандартных путей к файлам) это намного проще. оставьте свой java 8 для других интересных проектов ...


17

iReport не работает с java 8.

  • если еще не установлен, скачайте и установите java 7
  • найдите каталог установки вашего iReport и откройте файл: ireport.conf

(вы найдете его здесь: iReport-xxx \ etc \)

измените эту строку:

#jdkhome="/path/to/jdk"

к этому (если это не ваш установочный каталог java 7, замените значение параметра между "" s на ваш установленный путь java 7):

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

работает с такой же и на старой версии, как iReport-3.7.2
BlondCode

Чтобы было понятнее: это не меняет ваших (или вашей компании) настроек Java по умолчанию, поэтому я рекомендую это. Это меняет поведение iReport: iReport будет искать jdk, который вы указали для поиска, вместо использования настроек Java по умолчанию. Независимо от того, будете ли вы обновлять Java в будущем, iReport будет работать до тех пор, пока старая Java не появится где-нибудь на вашем компьютере. :) Я не буду отрицать хакеров реестра, но я бы не сказал, что взлом реестра - это решение ..
BlondCode

9

Хотя ireport официально не поддерживает java8, существует довольно простой способ заставить ireport (протестированный с ireport 5.1) работать с Java 8. На самом деле проблема заключается в netbeans. Есть очень простой патч, если вы не заботитесь об улучшенной безопасности в Java 8:

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

Я даже не использовал тот исходный код netbeans, который использует ireport. Я только что полностью загрузил последнюю версию WeakListenerImpl.java из указанного выше репозитория и скомпилировал ее в каталоге ireport с помощью platform9 / lib / org-openide-util.jar в пути к классам компилятора.

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

Я стараюсь не запускать eclipse только для того, чтобы редактировать отчеты jasper, насколько это возможно. Ireport на основе netbeans намного легче. Запуск Eclipse похож на использование emacs.


1
Это связано с этой ошибкой: netbeans.org/bugzilla/show_bug.cgi?id=229191 Но iReport не обновлялся.
Gilberto

2
Спасибо Спасибо спасибо! Вы палочка-выручалочка! Я попытался запустить ireport 5.6 с Java 8 и увидел, что он не запускается. Затем я попытался загрузить java 7, но oracle позволяет загружать его только клиентам oracle (!) ... Так что я уперся в стену, пока не наткнулся на ваше решение, которое отлично работало! Ты спас мне день :)
Серафей

1
Это действительно намного лучшее решение, чем установка JDK7. Я не знаю, почему у него так мало голосов. Хотя однострочный патч отключает некоторую улучшенную безопасность JDK8, результат не хуже (и, вероятно, лучше), чем при работе под JDK7.
Стюарт Гэтман

5

Он работает только с JRE 1.7, просто скачайте его и распакуйте в желаемое место

и используйте следующую команду, чтобы открыть iReport

ireport --jdkhome Path To JDK Home

4

Я исправил это на своем ПК, в моей среде iReport был iReport-5.1.0, были установлены jdk 7 и jdk 8.

но iReport не загрузился

исправление: - 1. Найдите iReport.conf // C: \ Program Files (x86) \ Jaspersoft \ iReport-5.1.0 \ etc

  1. Откройте его в текстовом редакторе

  2. скопируйте путь установки jdk // C: \ Program Files (x86) \ Java \ jdk1.8.0_60

  3. добавьте jdkhome = в файл ireport.conf jdkhome = "C: / Program Files (x86) /Java/jdk1.8.0_60"

введите описание изображения здесь

Теперь iReport будет работать


1

С IReport 4.7.1, после установки jdkhome в etc/ireport.conf,ireport.exe не запускается. Ни брызг, ни окна.

Когда я запускаю ireport_w.execmd, я получаю такое сообщение:

Ошибка при инициализации ВМ

Не удалось зарезервировать достаточно места для кучи объектов

Ошибка: не удалось создать виртуальную машину Java.

Ошибка: возникла фатальная исключительная ситуация. Программа будет закрыта.

Решение: в файле etc / ireport.conf в строке, начинающейся с default_options, я уменьшил значение -J-XX:MaxPermSize до 256 м вместо 512 м.

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

Убедитесь, что у вас нет таких переменных среды _JAVA_OPTIONS, которые переопределяют эти настройки. У меня была такая переменная среды, которая устанавливала размер кучи на 1 ГБ. Это имело приоритет над default_optionsнастройками здесь. После удаления iReport работал успешно.
ADTC

0

Я устал искать в гугле, как запустить iReport с java 8.

Я сделал все, как сказано в Интернете, но я не знаю, почему они мне не подходят.

Затем я меняю текущую версию JDK на моем компьютере с 1.8 на 1.7 с помощью редактора реестра.

Теперь все работает нормально.

Чтобы изменить текущую версию

Пуск => Введите regedit (нажмите Enter) => HKEY_LOCAL_MACHINE => ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ => JavaSoft => Java Development Kit => Изменить значение ключа CurrentVersion с 1,8 на 1,7


0

Для меня комбинация ответов Стюарта Гатмана и Равиата в этом потоке сработала в Windows Server 2016 для iReport 5.6.0.

Кроме того, я добавил символическую ссылку в C: \ program files \ java \ jre7 на jdk8 следующим образом:

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

потому что iReport постоянно жаловался, что не может найти java.exe в C: \ program files \ java \ jre7 \ bin \ - поэтому я подал ему доступный java.exe (в моем случае V8.181) по желаемому пути, и он с удовольствием проглотил.


0

Я установил IReport 5.6 с Java 7: не работает

Я попытался установить Java 6 и добавил путь к файлу «ireport.conf», как на прилагаемом снимке экрана, и он работал нормально: Dвведите описание изображения здесь

Итак, шаги:

 Install IReport 5.6
 Install JDK 6
 Edit "ireport.conf" file like the below image and Enjoy ;)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.