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, на яких базується іРепорт, має проблеми сумісності з 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 та etc, вкиньте 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

2
лише для того, щоб підтвердити, що проблема непрацювання з Java 8 стосується принаймні версії 5.6.0 (найактуальнішої на момент коментування)
Губерт Шумахер

1
Частина кроку 3, оскільки розміщення інсталяції Java у папці iReport є непотрібною. В основному ви можете покласти його куди завгодно, і я ніколи б не поклав його де-небудь ще, тоді це має бути: папка Program Files. Перевірте й інші відповіді ..
BlondCode

Підійди собі. Однак справа тут у тому, що вам потрібен цей старий jre лише для завантаження цього звіту.
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, то замініть значення параметра між "" на шлях встановленого 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, щоб лише редагувати звіти про яшму, доки можу. Повідомлення на основі Netbeans набагато легше. Запуск Eclipse схожий на використання emacs.


1
Це стосується цієї помилки: netbeans.org/bugzilla/show_bug.cgi?id=229191 Але iReport не оновлювався.
Gilberto

2
Дякую дякую дякую! Ви рятівник! Я спробував запустити ireport 5.6 з Java 8 і побачив, що він не запускався. Потім я спробував завантажити java 7, але oracle дозволяє лише клієнтам oracle завантажувати його! Ви врятували мій день :)
Serafeim

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 \ тощо

  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

З іРепорт 4.7.1, після установки jdkhome в etc/ireport.conf, ireport.exeне починається. Ні сплеску, ні вікна.

Коли я запускаю ireport_w.exeв cmd, я отримую таке повідомлення:

Під час ініціалізації віртуальної машини сталася помилка

Не вдалося зарезервувати достатньо місця для купи об’єктів

Помилка: Не вдалося створити віртуальну машину 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

Мені набридло шукати в google, як запустити 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.