iReport không bắt đầu sử dụng JRE 8


88

Tôi đã tải xuống và cài đặt iReport 4.5 bằng trình cài đặt Windows. Nhưng khi tôi cố gắng khởi động iReport, nó hiển thị màn hình giật gân nhưng không khởi động.

Phiên bản JRE của tôi là 8.


3
JasperReports chưa hỗ trợ Java 8.
Endrik

4
Và có vẻ như không có ý định hỗ trợ Java 8. iReport đang ở chế độ bảo trì cho đến cuối năm 2015 ( community.jaspersoft.com/project/ireport-designer ). Jasper Studio hiện là công cụ được hỗ trợ. Xem superuser.com/questions/607874/… về lý do tại sao nó không hoạt động (NetBeans 7.4, dựa trên iReport, có vấn đề tương thích với Java 8). công trình giải pháp xtsoler, mặc dù bạn không cần phải cấu hình tập tin thay đổi hoặc đưa jre7 trong một thư mục đặc biệt, bạn có thể chỉ cần khởi động iReport trỏ đến jre:ireport --jdk /my/path/to/jre7
Glenn

Câu trả lời:


150

Có một cách khác nếu bạn không muốn cài đặt các phiên bản Java cũ hơn, bạn có thể làm như sau:

1) Tải xuống iReport-5.6.0.zip từ https://sourceforge.net/projects/ireport/files/iReport/iReport-5.6.0/

2) Tải xuống jre-7u67-windows-x64.tar.gz (một gói được đóng gói trong tar) từ https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261 .html

3) Giải nén iReport và trong thư mục đã giải nén có chứa các thư mục bin và vv được đưa vào jre. Ví dụ: nếu bạn giải nén hai lần jre-7u67-windows-x64.tar.gz, bạn sẽ nhận được một thư mục có tên jre1.7.0_67. Đặt thư mục đó trong thư mục iReport-5.6.0:

nhập mô tả hình ảnh ở đây

và sau đó đi vào thư mục vv và chỉnh sửa tệp ireport.conf và thêm dòng sau vào đó:

Đối với Windows jdkhome = ". \ Jre1.7.0_67"

Đối với Linux jdkhome = "./ jre1.7.0_67"

Lưu ý: phiên bản jre có thể thay đổi! theo bạn tải xuống 1.7

nhập mô tả hình ảnh ở đây

bây giờ nếu bạn chạy ireport_w.exe từ thư mục bin trong thư mục iReport, nó sẽ tải tốt.


2
Thêm jdkhome đã làm điều đó cho tôi. Còn đối với các phiên bản cũ: 4.7.0 và 4.1.2
Dimitri Dewaele

Điều này đã làm các mẹo cho tôi. Tôi có Java 8, tôi đã sử dụng phiên bản khác: 1.7.0.79.
Noldy

2
chỉ để xác nhận rằng vấn đề không làm việc với Java 8 là thông qua lên phiên bản 5.6.0 ít nhất (hầu hết các dòng điện tại thời điểm cho ý kiến)
Hubert Schumacher

1
Một phần của bước 3 là đưa cài đặt Java vào thư mục của iReport là không cần thiết. Về cơ bản, bạn có thể đặt nó ở bất cứ đâu và tôi sẽ không bao giờ đặt nó ở bất kỳ nơi nào khác vì vậy nó được cho là: thư mục Program Files. Kiểm tra các câu trả lời khác ..
BlondCode

Tùy bạn thôi. Tuy nhiên, vấn đề ở đây là bạn chỉ cần jre cũ đó để khởi động ireport này.
xtsoler

59

không gỡ cài đặt bất cứ thứ gì. một hệ thống với nhiều phiên bản java hoạt động tốt. và bạn không cần phải cập nhật các varables môi trường của mình (ví dụ: java_home, path, v.v.).

vâng, ireports 3.6.1 cần java 7 (không hoạt động với java 8).

tất cả những gì bạn phải làm là chỉnh sửa 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"

trên linux (không có khoảng trắng và đường dẫn tệp tiêu chuẩn) nó dễ dàng hơn nhiều. giữ java 8 của bạn cho các dự án thú vị khác ...


17

iReport không hoạt động với java 8.

  • nếu chưa được cài đặt, hãy tải xuống và cài đặt java 7
  • tìm trình cài đặt iReport của bạn và mở tệp: ireport.conf

(bạn sẽ tìm thấy nó ở đây: iReport-xxx \ etc \)

thay đổi dòng này:

#jdkhome="/path/to/jdk"

về điều này (nếu đây không phải là dir cài đặt java 7 của bạn thì hãy thay thế giá trị tham số giữa "" s bằng đường dẫn của java 7 đã cài đặt của bạn):

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

cũng hoạt động với phiên bản cũ như iReport-3.7.2
BlondCode

Vì vậy, dễ hiểu: điều này không thay đổi cài đặt Java mặc định của bạn (hoặc của công ty bạn), đó là lý do tại sao tôi khuyên bạn nên sử dụng nó. Điều này thay đổi hành vi của iReport: iReport sẽ tìm kiếm jdk bạn đã yêu cầu nó tìm kiếm thay vì sử dụng cài đặt Java mặc định. Bất kể bạn sẽ nâng cấp Java của mình trong tương lai, iReport sẽ vẫn hoạt động cho đến khi Java cũ tồn tại ở đâu đó trên máy của bạn. :) Tôi sẽ không tán thành những tin tặc đăng ký, nhưng tôi sẽ không nói rằng hack sổ đăng ký là một giải pháp ..
BlondCode

9

Mặc dù ireport không chính thức hỗ trợ java8, nhưng có một cách khá đơn giản để làm cho ireport (được thử nghiệm với ireport 5.1) hoạt động với Java 8. Vấn đề thực sự là ở netbeans. Có một bản vá rất đơn giản, giả sử bạn không quan tâm đến bảo mật được cải thiện trong Java 8:

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

Tôi thậm chí đã không sử dụng nguồn netbeans chính xác được sử dụng bởi ireport. Tôi vừa tải xuống đầy đủ WeakListenerImpl.java mới nhất từ ​​kho lưu trữ ở trên và biên dịch nó trong thư mục ireport với platform9 / lib / org-openide-use.jar trong classpath trình biên dịch

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

Tôi tránh chạy nhật thực chỉ để chỉnh sửa báo cáo jasper miễn là tôi có thể. Ireport dựa trên netbeans có trọng lượng nhẹ hơn rất nhiều. Chạy Eclipse giống như sử dụng emacs.


1
Nó liên quan đến lỗi này: netbeans.org/bugzilla/show_bug.cgi?id=229191 Nhưng iReport không được cập nhật.
Gilberto

2
Cảm ơn bạn, cảm ơn bạn, cảm ơn bạn! Bạn là một cứu cánh! Tôi đã thử chạy ireport 5.6 với Java 8 và thấy rằng nó không bắt đầu. Sau đó, tôi đã cố gắng tải xuống java 7 nhưng oracle chỉ cho phép khách hàng của oracle tải xuống (!) ... Vì vậy, tôi đã gặp phải một bức tường cho đến khi tôi tình cờ thấy giải pháp của bạn hoạt động tuyệt vời! Bạn đã cứu một ngày của tôi :)
Serafeim

1
Đây thực sự là một giải pháp tốt hơn nhiều so với cài đặt JDK7. Tôi không biết tại sao nó có quá ít phiếu bầu. Mặc dù bản vá một dòng vô hiệu hóa một số bảo mật JDK8 được cải thiện, nhưng kết quả không tệ hơn (và có lẽ tốt hơn) so với việc chạy dưới JDK7.
Stuart Gathman

5

Nó chỉ hoạt động với JRE 1.7 chỉ cần tải xuống và giải nén đến vị trí ưa thích của bạn

và sử dụng lệnh sau để mở iReport

ireport --jdkhome Path To JDK Home

4

Tôi đã sửa lỗi này trên PC của mình, trên môi trường của tôi, iReport là iReport-5.1.0, cả jdk 7 và jdk 8 đều đã được cài đặt.

nhưng iReport không tải

sửa lỗi: - 1. Tìm iReport.conf // C: \ Program Files (x86) \ Jaspersoft \ iReport-5.1.0 \ etc

  1. Mở nó trên trình soạn thảo văn bản

  2. sao chép đường dẫn cài đặt jdk của bạn // C: \ Program Files (x86) \ Java \ jdk1.8.0_60

  3. thêm jdkhome = vào tệp ireport.conf jdkhome = "C: / Program Files (x86) /Java/jdk1.8.0_60"

nhập mô tả hình ảnh ở đây

Bây giờ iReport sẽ hoạt động


1

Với ireport 4.7.1, sau khi thiết lập jdkhome etc/ireport.conf, ireport.exekhông khởi động. Không có giật gân, không có cửa sổ.

Khi tôi khởi chạy ireport_w.exetrong cmd, tôi nhận được thông báo sau:

Lỗi xảy ra trong quá trình khởi tạo máy ảo

Không thể dành đủ dung lượng cho đống đối tượng

Lỗi: Không thể tạo Máy ảo Java.

Lỗi: Đã xảy ra một ngoại lệ nghiêm trọng. Chương trình sẽ thoát.

Giải pháp: Trong tệp etc / ireport.conf, trên dòng bắt đầu bằng default_options, tôi đã giảm giá trị -J-XX:MaxPermSize xuống 256m thay vì 512m

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

Đảm bảo rằng bạn không có bất kỳ biến môi trường nào như _JAVA_OPTIONSvậy sẽ ghi đè các cài đặt này. Tôi đã có một biến môi trường đang đặt kích thước heap thành 1 GB. Nó được ưu tiên hơn các default_optionscài đặt ở đây. Sau khi xóa, iReport đã chạy thành công.
ADTC

0

Tôi đã rất mệt mỏi khi tìm kiếm trên google cách chạy iReport với java 8.

Tôi đã làm mọi thứ như đã nói trên Internet, Nhưng tôi không biết tại sao chúng không hiệu quả với tôi.

Sau đó, tôi thay đổi máy tính của tôi JDK Phiên bản hiện tại dạng 1.8 thành 1.7 bằng Registry Editor.

Bây giờ nó hoạt động tốt.

Để thay đổi phiên bản hiện tại

Start => Gõ regedit (Nhấn Enter) => HKEY_LOCAL_MACHINE => SOFTWARE => JavaSoft => Java Development Kit => Thay đổi giá trị chính của CurrentVersion từ 1.8 thành 1.7


0

Đối với tôi, sự kết hợp giữa câu trả lời của Stuart Gathman và Raviath trong chuỗi này đã thực hiện thủ thuật trong Windows Server 2016 cho iReport 5.6.0.

Ngoài ra, tôi đã thêm một liên kết tượng trưng trong C: \ program files \ java \ jre7 vào jdk8 như thế này:

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

vì iReport liên tục phàn nàn rằng nó không thể tìm thấy java.exe trong C: \ program files \ java \ jre7 \ bin \ - Vì vậy, tôi đã cung cấp cho nó java.exe có sẵn (trong trường hợp của tôi là V8.181) theo đường dẫn mong muốn và nó nuốt nó một cách vui mừng.


0

Tôi đã cài đặt IReport 5.6 với Java 7: không hoạt động

Tôi đã cố gắng cài đặt Java 6 và thêm đường dẫn đến tệp "ireport.conf" như ảnh chụp màn hình đính kèm và nó hoạt động tốt: Dnhập mô tả hình ảnh ở đây

Vì vậy, các bước là:

 Install IReport 5.6
 Install JDK 6
 Edit "ireport.conf" file like the below image and Enjoy ;)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.