คอนเทนเนอร์ classpath ที่ไม่ถูกผูกไว้ใน Eclipse


115

ฉันได้ตรวจสอบโปรเจ็กต์โดยใช้ Subversive for Eclipse และฉันได้รับข้อผิดพลาดต่อไปนี้:

  • ไม่สามารถสร้างโครงการได้จนกว่าข้อผิดพลาดของเส้นทางการสร้างจะได้รับการแก้ไข
  • คอนเทนเนอร์คลาสพา ธ ที่ไม่ถูกผูกไว้: 'JRE System Library [jdk1.5.0_08]'

ฉันคิดว่าข้อผิดพลาดแรกจะได้รับการแก้ไขทันทีที่เกิดข้อผิดพลาดที่สอง ฉันคิดว่าฉันต้องติดตั้ง JDK 1.5.0_08 และตั้งเป็นไลบรารีระบบ jre สำหรับโปรเจ็กต์ แต่ฉันไม่สามารถดาวน์โหลดได้จากที่ใดที่ใกล้ที่สุดที่ฉันจะได้รับคือ JDK 1.5.0_22

หากใครสามารถให้ทางเลือกอื่น (หรือลิงค์ดาวน์โหลดสำหรับ jdk1.5.0_08 ฉันคิดว่า) ฉันจะขอบคุณ

คำตอบ:


95

ได้รับคำถามที่พบบ่อย , การแบ่งปันไฟล์โครงการที่ดูเหมือนว่าจะต้องมีข้อได้เปรียบและเป็นที่แนะนำแม้การปฏิบัติสำหรับโครงการ Java (ส่วนตัวผมจะไม่ทำอย่างนั้น)

งานบางอย่างต่อไปนี้สำหรับคุณ:

  1. แก้ไขคุณสมบัติของโปรเจ็กต์ (โปรเจ็กต์คลิกขวา, คุณสมบัติ, Java Build Path, ไลบรารี, ลบและเพิ่มไลบรารี
  2. นำเข้าไฟล์ของโครงการโดยไม่มี "ไฟล์โครงการ"
  3. ติดตั้ง JDK1.5 จากhttp://java.sun.com/javase/downloads/index_jdk5.jspและดูว่าคุณสามารถแก้ไขเส้นทางได้หรือไม่

29
หรือ 4. goto Properties -> Java Build Path -> Libraries Tab -> เลือกไลบรารีระบบที่ผิดพลาด -> แก้ไข (ทางด้านขวา) -> เลือก JRE สำรอง -> เสร็จสิ้น
Rajkiran

ฉันจะไม่นำเข้าไฟล์โครงการได้อย่างไร ในโครงการที่มีอยู่ไม่มีตัวเลือกสำหรับสิ่งนั้น ฉันไม่คุ้นเคยกับ aclipse มากนัก
Ricker Silva

175

ฉันมีปัญหาที่คล้ายกันเมื่อฉันสร้างพื้นที่ทำงานใหม่ซึ่งได้รับการแก้ไขด้วยวิธีต่อไปนี้:

ไปที่ Eclipse -> Preferences ภายใต้ Java เลือก "Installed JREs" และเลือกช่องใดช่องหนึ่งเพื่อระบุ JRE เริ่มต้น คลิกตกลงจากนั้นกลับไปที่คุณสมบัติของโครงการของคุณ ไปที่ส่วน "Java Build Path" และเลือกแท็บ "Libraries" ลบไลบรารีเริ่มต้นของระบบที่ไม่ถูกผูกไว้จากนั้นคลิกปุ่ม "เพิ่มไลบรารี" เลือก "JRE System Library" เท่านี้ก็เรียบร้อย!


9
สิ่งนี้ได้ผลสำหรับฉัน ฉันต้องไปที่ Window -> Preferences สำหรับขั้นตอนแรกและขั้นตอนสุดท้ายคือเลือก "Workspace default JRE" ของคุณแล้วคลิก Finish
Steph

ใช่ตำแหน่งของไดอะล็อกใน Eclipse ขยับไปมาไม่น้อยในช่วงที่ผ่านมาหรือสองรุ่น ฟังก์ชันทั้งหมดที่พบในคำตอบที่เก่ากว่ายังคงมีอยู่ แต่เส้นทาง "X-> Y-> Z" มักจะแตกต่างกัน
Ti Strga

18

วิธีแก้ไข:

  • คลิกขวาที่โปรเจ็กต์ของคุณ -> Build Path -> Configure Build Path
  • เลือก JRE Library และคลิก Edit และจากหน้าต่าง Edit library เลือก JRE ทางเลือกที่กำหนดค่าด้วย eclipse ของคุณจากนั้นคลิก Finish

1
ถ้าจะทำมากกว่านี้ แต่ฉันสามารถโหวตได้เพียงครั้งเดียว บันทึกทั้งวันของฉัน
Shadow

7

นี่เป็นคำถามที่ค่อนข้างเก่าและฉันเพิ่งเจอคำถามนี้ นอกจากนี้คำตอบยังบอกด้วยว่าตรวจสอบให้แน่ใจว่าคุณได้ลงทะเบียน JDK ที่ถูกต้องในส่วน Installed JRE ของคุณสมบัติ Eclipse และนั่นคือมัน ฉันลงทะเบียน JDK ที่ถูกต้องและถูกทำเครื่องหมายเป็นค่าเริ่มต้น แต่ฉันยังคงได้รับข้อผิดพลาดนี้ มีอีกหนึ่งชิ้นที่หายไป

ตรวจสอบให้แน่ใจว่าในส่วน JREs ที่ติดตั้งชื่อของสภาพแวดล้อมรันไทม์เป้าหมายของคุณตรงตามที่ระบุไว้ในโปรเจ็กต์ที่นำเข้าของคุณ ตัวอย่างเช่นถ้าข้อผิดพลาดที่คุณได้รับคือ Unbound classpath container: 'JRE System Library [JavaSE-1.8]'- จากนั้นใน JREs ติดตั้งคุณจะต้องมี JDK 1.8 การลงทะเบียนและชื่อของมันควรจะเป็นค่าที่แน่นอนที่กล่าวไว้ในวงเล็บซึ่งในกรณีนี้คือJavaSE-1.8


จริงๆแล้วนี่ควรเป็นคำตอบและแก้ปัญหาได้ปัญหาทั้งหมดในปัญหานี้เกิดขึ้นเนื่องจากเหตุผลที่คุณให้ +1
วิธีการทางวิทยาศาสตร์

4

แน่นอนว่าปัญหานี้จะได้รับการแก้ไขภายใต้การตั้งค่า -> Java -> JRE ที่ติดตั้ง หาก JRE ที่ต้องการปรากฏในรายการ - เพียงแค่เลือกแค่นั้นเอง

มิฉะนั้นจะต้องติดตั้งบนคอมพิวเตอร์ของคุณก่อนเพื่อให้คุณสามารถเพิ่มด้วย "Add" -> Standard VM -> Directory ในหน้าต่างเบราว์เซอร์ป๊อปอัปให้เลือกเส้นทาง - บางอย่างเช่น "program files \ Java \ Jre #" - > "ตกลง" และตอนนี้คุณสามารถเลือกได้จากรายการ


3
  1. คลิกขวาที่โฟลเดอร์โครงการไปที่ Properties ที่ด้านล่าง
  2. ไปที่พา ธ Java Build
  3. คลิกที่แท็บ Libraries
  4. เลือก Classpath
  5. คลิกปุ่มเพิ่มเพิ่มห้องสมุดทางด้านขวา
  6. เลือก JRE System Libraryและคลิก Nextจากนั้นคลิกFinish
  7. คลิก ใช้และปิด ข้อผิดพลาดควรหายไปใน IDE

1

ฉันมีปัญหาเดียวกันแม้ว่าจะติดตั้ง JDK 1.7 แล้วก็ตาม ฉันแก้ไขโดยเพิ่มไดเร็กทอรี bin ลงใน PATH ของฉัน ดังนั้นฉันจึงไปที่

คอมพิวเตอร์> คุณสมบัติ> ขั้นสูง> ตัวแปรสภาพแวดล้อม

แล้วเพิ่ม

C: \ Program Files \ Java \ jdk1.7.0_55 \ bin;

จากนั้นฉันทำตามคำแนะนำเหล่านี้

http://clean-clouds.com/2012/12/06/how-to-install-and-add-jre7-in-eclipse/


1

ปัญหาจะเกิดขึ้นเมื่อคุณ

  • อิมพอร์ตโฟลเดอร์โปรเจ็กต์ไปยังเวิร์กสเปซ eclipse (เมื่อโปรเจ็กต์ใช้ Jre อื่น)
  • อัพเดตหรือติดตั้ง eclipse ใหม่
  • เปลี่ยน JRE หรือที่เกี่ยวข้องกับการสร้าง การตั้งค่า
  • หรือมีความไม่ตรงกันการกำหนดค่า

คุณจะได้รับสองข้อผิดพลาดสำหรับแต่ละไฟล์ผิดพลาด

  • ไม่สามารถสร้างโครงการได้จนกว่าข้อผิดพลาดของเส้นทางการสร้างจะได้รับการแก้ไข
  • คอนเทนเนอร์ classpath ที่ไม่ถูกผูกไว้: 'JRE System Library

ถ้าไม่มี. โครงการที่มีปัญหามีน้อย:

  1. เลือก แต่ละ โครงการและใช้การแก้ไขด่วน (Ctrl + 1)
  2. อย่างใดอย่างหนึ่งแทนที่ของโครงการ JRE กับ JRE เริ่มต้นหรือระบุสำรอง JRE (หรือ JDK)

คุณสามารถทำได้โดยคลิกขวาที่โปรเจ็กต์ -> คุณสมบัติ (จากเมนูบริบท) -> Java Build Path -> ไลบรารี -> เลือกไลบรารีที่ไม่ถูกผูกปัจจุบัน -> ลบ -> เพิ่มไลบรารี -> ระบบ Jre ห้องสมุด -> เลือกค่าเริ่มต้นหรือสลับ JRE

โดยตรงหรือเลือกเส้นทางรูปร่าง -> เพิ่มห้องสมุดในเมนูบริบทของโครงการ


แต่วิธีที่ดีที่สุดในการกำจัดปัญหาดังกล่าวเมื่อคุณมีหลายโครงการคือ:

ทั้ง

  1. เปิดพื้นที่ทำงานปัจจุบัน(ซึ่งโครงการของคุณอยู่) ในFile Explorer
  2. ลบไฟล์ org.eclipse.jdt.core.prefs ทั้งหมดที่อยู่ในโฟลเดอร์. settings ของโปรเจ็กต์ที่นำเข้าของคุณ ( โปรดใช้ความระมัดระวังขณะลบอย่าลบไฟล์หรือโฟลเดอร์ใด ๆ ในโฟลเดอร์. metadata ) **
  3. ตอนนี้เลือกไฟล์. classpath ของโครงการ (ที่มีข้อผิดพลาด) และเปิดในโปรแกรมแก้ไขข้อความที่มีประสิทธิภาพ (เช่น Notepad ++)
  4. ค้นหาบรรทัดที่คล้ายกัน <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> และแทนที่ด้วย <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
  5. บันทึกไฟล์ทั้งหมด และรีเฟรชหรือรีสตาร์ท Eclipse IDE ปัญหาทั้งหมดจะหมดไป

หรือ

รับ JRE ที่ใช้โดยโครงการและติดตั้งบนคอมพิวเตอร์ของคุณจากนั้นระบุ ..


0

คลิกที่ข้อความแสดงข้อผิดพลาดที่แสดง "Unbound classpath container: 'JRE System Library [jdk1.5.0_08]" คลิกซ้าย anyd เลือก quick fix ภายใต้รายการตัวเลือกที่เป็นไปได้อย่างรวดเร็วจะถูกแยกออก เลือกแทนที่ไลบรารี เลือกไลบรารีที่คุณติดตั้ง ของคุณดีไป


0

ฉันได้รับปัญหาที่คล้ายกันขณะนำเข้าโครงการ

ปัญหาคือคุณเลือก "ใช้สภาพแวดล้อมการดำเนินการ JRE" และต่ำกว่าไลบรารีที่ใช้ในโครงการที่กำลังนำเข้า

มีสองวิธีในการแก้ไขปัญหานี้:

1. ในการนำเข้าโครงการครั้งแรก:

in JRE tab select "USE project specific JRE" instead of "Use an execution environment JRE".

2. ลบโครงการออกจากพื้นที่ทำงานของคุณและนำเข้าอีกครั้ง เวลานี้:

select "Check out as a project in the workspace" instead of "Check out as a project configured using the new Project Wizard"

0

ในพื้นที่ทำงานที่กำหนดค่าไว้แล้วซึ่งเพิ่งหยุดสร้าง:

1. Right click the error
2. Select quick fix
3. Use workspace default JRE

สิ่งนี้เกิดขึ้นกับฉันเป็นครั้งคราวเมื่อทำงานในโครงการที่แชร์หลังจากอัปเดตด้วยการเปลี่ยนแปลงล่าสุด ฉันไม่แน่ใจว่าทำไมเส้นทางการติดตั้ง JRE ของพวกเขาอาจแตกต่างจากของฉันเล็กน้อย


0

สำหรับผู้ที่ใช้sdkmanสิ่งนี้ช่วยฉันได้

ใช้กรณี:
ฉันใช้ตัวระบุ8.0.202-amzn
ฉันตัดสินใจติดตั้ง Azul Zulu ดังนี้:sdk install java 13.0.2-zulu

ข้อผิดพลาด: จากนั้นฉันได้รับข้อผิดพลาดที่ไม่ถูกผูกไว้

วิธีแก้ไข:
1. คลิกขวาที่โปรเจ็กต์ของคุณในEclipse/ STS
2. เลือกBuild Path> Configure Build Path...
3. ภายใต้ไลบรารีให้ลบ JRE Library ออกสำหรับกรณีของฉัน8.0.202-amzn
4. ภายใต้ไลบรารีคลิกที่Modulepath> Add Library...
5. เลือกJRE System Libraryคลิกถัดไป
6. เลือกAlternate JREคลิกที่Installed JREs...
7 . ค่าที่กำหนดไว้ก่อนหน้าของคุณควรจะอยู่ที่นั่น
8 ถ้ามีอยู่ให้แก้ไขถ้าไม่มีให้เพิ่มหนึ่ง
9. ตรวจสอบให้แน่ใจว่าnameคือ: 13.0.2-zulu
10. และlocation(บ้าน JRE) คือ: /Users/jumping_monkey/.sdkman/candidates/java/current
11 คลิกApply and close
12. คลิกFinish
13 . โวล่า!

คุณจะเห็น JRE System Library [13.0.2-zulu] ใน Project Explorer ของคุณและข้อผิดพลาดทั้งหมดก็หายไป

ไชโย!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.