iReport ไม่ได้เริ่มต้นโดยใช้ JRE 8


89

ฉันดาวน์โหลดและติดตั้ง iReport 4.5 โดยใช้ตัวติดตั้ง Windows แต่เมื่อฉันพยายามเริ่ม iReport มันแสดงหน้าจอเริ่มต้น แต่ไม่เริ่มทำงาน

เวอร์ชัน JRE ของฉันคือ 8


3
JasperReports ยังไม่รองรับ Java 8
Endrik

4
และดูเหมือนว่าไม่มีความตั้งใจที่จะสนับสนุน Java 8 iReport อยู่ในโหมดการบำรุงรักษาจนถึงสิ้นปี 2015 ( community.jaspersoft.com/project/ireport-designer ) ตอนนี้ Jasper Studio เป็นเครื่องมือที่รองรับแล้ว ดูsuperuser.com/questions/607874/…เกี่ยวกับสาเหตุที่ใช้งานไม่ได้ (NetBeans 7.4 ซึ่งใช้ iReport มีปัญหาความเข้ากันได้กับ Java 8) โซลูชันของ xtsoler ใช้งานได้แม้ว่าคุณจะไม่ต้องเปลี่ยนไฟล์ config หรือใส่ jre7 ใน dir พิเศษ แต่คุณสามารถเปิด iReport ที่ชี้ไปที่ jre:ireport --jdk /my/path/to/jre7
Glenn

คำตอบ:


151

มีอีกวิธีหนึ่งหากคุณไม่ต้องการติดตั้ง 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.2

ใส่คำอธิบายภาพที่นี่

ตอนนี้ถ้าคุณเรียกใช้ 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 เป็นอย่างน้อย (ล่าสุดในเวลาที่แสดงความคิดเห็น)
Hubert Schumacher

1
เป็นส่วนหนึ่งของขั้นตอนที่ 3 เนื่องจากการติดตั้ง Java ลงในโฟลเดอร์ของ iReport นั้นไม่จำเป็น โดยทั่วไปคุณสามารถวางไว้ที่ใดก็ได้และฉันจะไม่วางไว้ที่อื่นดังนั้นควรจะเป็น: โฟลเดอร์ Program Files ตรวจสอบคำตอบอื่น ๆ ด้วย ..
BlondCode

เหมาะกับตัวเอง อย่างไรก็ตามประเด็นก็คือคุณต้องใช้ jre เก่าสำหรับการบูต ireport นี้เท่านั้น
xtsoler

59

อย่าถอนการติดตั้งอะไรเลย ระบบที่มี java หลายเวอร์ชันใช้งานได้ดี และคุณไม่จำเป็นต้องอัปเดต varables สภาพแวดล้อมของคุณ (เช่น java_home, path ฯลฯ .. )

ใช่ 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
  • ค้นหา dir การติดตั้งของ iReport ของคุณและเปิดไฟล์: ireport.conf

(คุณจะพบได้ที่นี่: iReport-xxx \ etc \)

เปลี่ยนบรรทัดนี้:

#jdkhome="/path/to/jdk"

เพื่อสิ่งนี้ (ถ้าไม่ใช่นี่คือ dir ติดตั้ง 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 แบบเก่าจะมีอยู่ในเครื่อง
:)

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 ใน classpath คอมไพเลอร์

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 เท่านั้นที่ดาวน์โหลด (!) ... ดังนั้นฉันจะชนกำแพงจนกว่าฉันจะสะดุดกับโซลูชันของคุณซึ่งใช้งานได้ดี! คุณช่วยชีวิตฉันไว้ :)
Serafeim

1
นี่เป็นทางออกที่ดีกว่าการติดตั้ง JDK7 มาก ฉันไม่รู้ว่าทำไมถึงมีคนโหวตน้อยจัง ในขณะที่แพทช์บรรทัดเดียวปิดใช้งานการรักษาความปลอดภัย JDK8 ที่ปรับปรุงแล้วผลลัพธ์ก็ไม่เลวร้าย (และอาจดีกว่า) ไปกว่าการรันภายใต้ JDK7
Stuart Gathman

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.exeใน cmd ฉันจะได้รับข้อความนี้:

เกิดข้อผิดพลาดระหว่างการเริ่มต้น VM

ไม่สามารถจองพื้นที่เพียงพอสำหรับฮีปวัตถุ

ข้อผิดพลาด: ไม่สามารถสร้าง Java Virtual Machine

ข้อผิดพลาด: มีข้อยกเว้นร้ายแรงเกิดขึ้น โปรแกรมจะออก

วิธีแก้ไข: ในไฟล์ etc / ireport.conf บนบรรทัดที่เริ่มต้นด้วย default_options ฉันได้ลดค่า-J-XX:MaxPermSize เป็น 256m แทนที่จะเป็น 512m

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

ตรวจสอบให้แน่ใจว่าคุณไม่มีตัวแปรสภาพแวดล้อมเช่น_JAVA_OPTIONSนั้นที่จะแทนที่การตั้งค่าเหล่านี้ ฉันมีตัวแปรสภาพแวดล้อมดังกล่าวซึ่งตั้งค่าขนาดฮีปเป็น 1 GB มีความสำคัญเหนือกว่าการdefault_optionsตั้งค่าที่นี่ เมื่อลบออกแล้ว iReport ก็ทำงานได้สำเร็จ
ADTC

0

ฉันเบื่อที่จะค้นหาใน Google ว่าจะเรียกใช้ iReport ด้วย java 8 อย่างไร

ฉันทำทุกอย่างตามที่พูดบนอินเทอร์เน็ต แต่ฉันไม่รู้ว่าทำไมพวกเขาถึงไม่เหมาะกับฉัน

จากนั้นฉันเปลี่ยนคอมพิวเตอร์ของฉัน JDK เวอร์ชันปัจจุบันในรูปแบบ 1.8 เป็น 1.7 โดยใช้ Registry Editor

ตอนนี้มันทำงานได้ดี

เพื่อเปลี่ยนเวอร์ชันปัจจุบัน

Start => พิมพ์ regedit (กด Enter) => HKEY_LOCAL_MACHINE => SOFTWARE => JavaSoft => Java Development Kit => เปลี่ยนค่าคีย์ของ CurrentVersion จาก 1.8 เป็น 1.7


0

สำหรับฉันการรวมกันของคำตอบของ Stuart Gathman และ Raviath ในเธรดนี้ทำให้เกิดเคล็ดลับใน Windows Server 2016 สำหรับ iReport 5.6.0

นอกจากนี้ฉันได้เพิ่ม symlink ภายใน 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 ;)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.