ฉันกำลังใช้งาน Eclipse Luna Service Release 2 (4.4.2) สำหรับโปรเจ็กต์ Java ฉันไม่สามารถลดเวอร์ชันหลักจาก 52(java 8) เป็น 50(java 6) สำหรับคลาสภายในไฟล์ jar ที่รันได้ เมื่อฉันรันโปรแกรม java ภายใน eclipse มันกำลังทำงานอยู่ แต่เมื่อฉันสร้างไฟล์ jar มันแสดงข้อผิดพลาด Unsupported major.minor เวอร์ชัน 52.0 ฉันไม่มี Java 7 และ Java 8 ติดตั้งอยู่ในระบบของฉัน
ไม่สามารถเปลี่ยนเวอร์ชันหลักของไฟล์ jar ที่รันได้ใน eclipse
คำตอบ (1)
ไม่สามารถเปลี่ยนเวอร์ชันหลัก (ไฟล์คลาส) ของไฟล์ jar ที่รันได้ใน Eclipse
ถูกต้อง. คุณไม่สามารถทำอย่างนั้นได้
หมายเลขเวอร์ชันไม่ใช่หมายเลขเวอร์ชันของไฟล์ JAR เป็นหมายเลขเวอร์ชันของไฟล์คลาส รูปแบบ ที่ใช้เพื่อแสดงคลาสใน JAR นั้น (และในทางเทคนิคแล้ว ไฟล์คลาสที่แตกต่างกันใน JAR อาจ มีหมายเลขเวอร์ชันไฟล์คลาสที่แตกต่างกัน)
สิ่งที่คุณต้องการจริงๆ คือการคอมไพล์โค้ดใหม่จากซอร์สโค้ดโดยระบุหมายเลขเวอร์ชันของคอมไพเลอร์อื่น ซึ่งสามารถทำได้ใน Eclipse โดยใช้การตั้งค่าโปรเจ็กต์ หรือ (ด้วย Maven) ในไฟล์ POM แต่โปรดทราบว่าคุณจะได้รับผลลัพธ์ที่ดีที่สุดหาก Eclipse มีสิทธิ์เข้าถึง JDK / JRE สำหรับเวอร์ชัน Java เป้าหมาย
(ฉันไม่ได้ตรวจสอบว่าคอมไพเลอร์ Eclipse Luna ยังคงสามารถสร้างโค้ดสำหรับ Java 6 ได้หรือไม่ ฉันจำได้ว่าตัวเลือกนี้ถูกทิ้งสำหรับคอมไพเลอร์ Java บางตัว การรองรับการสร้างโค้ดสำหรับแพลตฟอร์มเก่าหลายแพลตฟอร์มกำลังขัดขวางความคืบหน้า ดังนั้น คุณ อาจ ต้องใช้ Eclipse เวอร์ชันเก่ากว่า ...)
อย่างที่กล่าวไปแล้ว คุณไม่ควรใช้ Java 7 หรือเก่ากว่า พวกเขาสิ้นชีวิตมาหลายปีแล้ว คุณพลาดแพตช์รักษาความปลอดภัยและสิ่งดีๆ อื่นๆ มานานหลายปี ขอแนะนำให้อัปเกรดแพลตฟอร์มบิลด์และการดำเนินการของคุณเป็น Java 8 หรือ Java 11 เป็นอย่างน้อย ... ทันทีที่ใช้งานได้จริง
ฉันไม่มี Java 1.7 และ 1.8 ติดตั้งอยู่บนระบบของฉัน
ใช่แล้ว ... แก้ไข นั้น ติดตั้ง Java 1.8 == Java 8