ฉันดาวน์โหลดและติดตั้ง iReport 4.5 โดยใช้ตัวติดตั้ง Windows แต่เมื่อฉันพยายามเริ่ม iReport มันแสดงหน้าจอเริ่มต้น แต่ไม่เริ่มทำงาน
เวอร์ชัน JRE ของฉันคือ 8
ฉันดาวน์โหลดและติดตั้ง iReport 4.5 โดยใช้ตัวติดตั้ง Windows แต่เมื่อฉันพยายามเริ่ม iReport มันแสดงหน้าจอเริ่มต้น แต่ไม่เริ่มทำงาน
เวอร์ชัน JRE ของฉันคือ 8
ireport --jdk /my/path/to/jre7
คำตอบ:
มีอีกวิธีหนึ่งหากคุณไม่ต้องการติดตั้ง 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 ควรโหลดได้ดี
อย่าถอนการติดตั้งอะไรเลย ระบบที่มี 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 ของคุณไว้สำหรับโครงการที่น่าสนใจอื่น ๆ ...
iReport ไม่ทำงานกับ java 8
(คุณจะพบได้ที่นี่: iReport-xxx \ etc \)
เปลี่ยนบรรทัดนี้:
#jdkhome="/path/to/jdk"
เพื่อสิ่งนี้ (ถ้าไม่ใช่นี่คือ dir ติดตั้ง java 7 ของคุณให้แทนที่ค่าพารามิเตอร์ระหว่าง "" s ด้วยพา ธ ของ java 7 ที่ติดตั้งไว้):
jdkhome="C:\Program Files\Java\jdk1.7.0_67"
แม้ว่า ireport จะไม่รองรับ java8 อย่างเป็นทางการ แต่ก็มีวิธีง่ายๆในการทำให้ ireport (ทดสอบกับ ireport 5.1) ทำงานร่วมกับ Java 8 ได้ปัญหานี้เกิดขึ้นจริงใน netbeans มีโปรแกรมแก้ไขที่ง่ายมากโดยสมมติว่าคุณไม่สนใจเกี่ยวกับความปลอดภัยที่ปรับปรุงแล้วใน Java 8:
ฉันไม่ได้ใช้แหล่ง 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
ใช้งานได้เฉพาะกับJRE 1.7 เพียงดาวน์โหลดและแยกไปยังตำแหน่งที่คุณต้องการ
และใช้คำสั่งต่อไปนี้เพื่อเปิด iReport
ireport --jdkhome Path To JDK Home
ฉันแก้ไขสิ่งนี้บนพีซีของฉันบนสภาพแวดล้อมของฉัน iReport คือ iReport-5.1.0 ติดตั้งทั้ง jdk 7 และ jdk 8 แล้ว
แต่ iReport ไม่โหลด
แก้ไข: - 1. ค้นหา iReport.conf // C: \ Program Files (x86) \ Jaspersoft \ iReport-5.1.0 \ etc
เปิดบนโปรแกรมแก้ไขข้อความ
คัดลอกเส้นทางการติดตั้ง jdk ของคุณ // C: \ Program Files (x86) \ Java \ jdk1.8.0_60
เพิ่ม jdkhome = ลงในไฟล์ ireport.conf jdkhome = "C: / Program Files (x86) /Java/jdk1.8.0_60"
ตอนนี้ iReport จะทำงาน
ด้วย 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 ก็ทำงานได้สำเร็จ
ฉันเบื่อที่จะค้นหาใน 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
สำหรับฉันการรวมกันของคำตอบของ 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) ภายใต้เส้นทางที่ต้องการและมัน กลืนมันอย่างยินดี