ใน Eclipse สิ่งใดที่ทำให้เกิดข้อผิดพลาดไอคอน "red-x" ของ Package Explorer เมื่อแหล่งที่มาของ Java ทั้งหมดคอมไพล์โดยไม่มีข้อผิดพลาด


98

ฉันใช้ Eclipse สำหรับการพัฒนา Java แหล่งที่มาทั้งหมดของฉันรวบรวมได้ดีและแอปพลิเคชันที่เป็นผลลัพธ์ก็รวบรวมได้ อย่างไรก็ตามฉันได้รับการแจ้งเตือนข้อผิดพลาด "red-x" ใน Package Explorer

แหล่งที่มาทั้งหมดของฉันในไดเร็กทอรีต้นทางนี้ (ยาวเกินไปสำหรับสแนปชอต) คอมไพล์ได้ดีไม่มีไอคอนแสดงข้อผิดพลาด "red-x"

ข้อเสนอแนะใด ๆ เกี่ยวกับวิธีแก้ไขปัญหาจะได้รับการชื่นชมอย่างมาก

คำตอบ:


169

ใช่บางครั้งสิ่งนี้เกิดขึ้นโดยไม่มีเหตุผลชัดเจน คุณสามารถไปที่แท็บ "ปัญหา" (ถัดจากเอาต์พุตคอนโซล) และดูข้อความแสดงข้อผิดพลาดดังนั้นคุณอาจ จำกัด ให้แคบลงได้


6
ฉันเข้าใจโดยเฉพาะเมื่อส่วนประกอบอื่นที่ไม่ใช่ Java ไม่ผ่านการตรวจสอบความถูกต้อง (ตัวอย่างที่ดีจะเป็นไฟล์ XML เช่น spring's หรือ maven's)
Spencer Kormos

2
หากคุณเห็นปัญหาใด ๆ ในมุมมองปัญหานั่นคือเหตุผลที่ชัดเจน ฉันยังไม่เห็นข้อผิดพลาดโดยไม่มีเหตุผลที่ชัดเจน :)
nanda

การเพิ่มคำตอบของ jan-gressman บางครั้งเมื่อคุณดูในแท็บ "ปัญหา" คุณจะพบว่าปัญหาคือไฟล์พิเศษที่มีขีดล่างในบางโฟลเดอร์เช่น __duplicatefile.java ในการแก้ไขปัญหานี้ให้คลิกขวาที่โปรเจ็กต์และเลือก: แสดงใน> เนวิเกเตอร์ จากนั้นลบไฟล์ที่ซ้ำกันด้วยขีดล่างและสร้างโครงการของคุณ
GraSim

3
ฉันเจอสิ่งนี้เช่นกัน - บ่อยครั้ง สำหรับฉันแล้วการเปลี่ยนแปลงด้วยตนเองกับไฟล์ POM ของฉันเมื่อใช้ Eclipse & Maven และบรรทัดคำสั่ง (mvn) สลับกันได้ วิธีแก้ไข: ใช้แท็บปัญหาเพื่อวินิจฉัยตามที่ระบุไว้ข้างต้นและหากเป็น POM ที่ไม่ซิงค์คุณสามารถ "อัปเดตโครงการ" กับ Maven ใน Eclipse: "คลิกขวา" บนโครงการใน Package Explorer เลือก "Maven ", เลือก" อัปเดตโครงการ " ตรวจสอบว่าได้เลือก "Update project config. from pom.xml", "Refresh workspace ... " และ "Clean projects" แล้ว
Zack Jannsen

คำแนะนำที่ดีในการดูปัญหา โครงการของฉันจำเป็นต้องอัปเดต
ดาวนี

18

สิ่งนี้เกิดขึ้นบ่อยครั้งเมื่อฉันใช้ Maven และฉันก็ละเลยมันมาตลอดจนกระทั่งฉันพบคำถามนี้ คุณต้องอัปเดตโครงการในกรณีนี้ (หาข้อมูลได้โดยดูในบานหน้าต่างปัญหา)

จากเมนูบริบทโครงการ: Maven -> อัปเดตโครงการและเลือกฐานรหัส maven ที่มีอยู่

หรือคุณสามารถใช้ (Alt + F5) เพื่อเปิดหน้าต่างเดียวกัน


1
แม้ว่าฉันจะเข้าสู่โครงการอัปเดต แต่ก็ไม่ได้ช่วยแก้ปัญหาให้ฉัน ในแท็บปัญหาฉันได้รับข้อผิดพลาด 100 รายการที่แสดงไม่ได้กำหนด / ไม่ได้กำหนดค่าเริ่มต้น / ไม่สามารถแก้ไขเป็นประเภทได้ ... มีความคิดอย่างไรที่จะกำจัดสิ่งนี้ออกไปอย่างรวดเร็ว
Eswar


7

หลังจากสร้าง รีเฟรชโปรเจ็กต์และหากยังคงมีอยู่ให้คลิกขวาที่แท็บปัญหาในคราสและเลือกลบทั้งหมด

มักเกิดขึ้นหากคุณทำการติดตั้ง maven และไฟล์คุณสมบัติ eclipse ไม่ได้รับการอัพเดตอย่างถูกต้อง แม้ว่าโครงการของคุณจะไม่มีข้อผิดพลาดก็ตาม หวังว่า!


คลิกขวาในพื้นที่แท็บปัญหาแล้วเลือก "ลบ" - นั่นคือสิ่งที่ฉันต้องการฟัง!
Gabriel Staples

5

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

ปรากฎว่าหนึ่งในไดเร็กทอรีแพ็กเกจของฉันถูกคัดลอกโดยไม่ได้ตั้งใจทำให้ตอนนี้มีไดเร็กทอรีเสริมชื่อ "Copy of dagskra" ที่มีไฟล์ Java ที่มีการประกาศแพ็กเกจไม่ถูกต้อง นอกจากนี้ข้อผิดพลาดในไดเร็กทอรี "ใหม่" นี้จะไม่แสดงด้วย "red-x" ในแพ็กเกจที่มีอยู่ใน:

Snapshot จาก Package Explorer แสดงไดเร็กทอรี "Copy of dagskra" ที่ผิดพลาด http://www.freeimagehosting.net/uploads/a824304b18.png

มันเป็นคำใบ้ของการอ่านแท็บ "ปัญหา" :-) ที่ทำให้ฉันไปสู่ทิศทางที่ถูกต้องดังนั้นฉันจึงเลือกคำตอบนั้นเป็นคำตอบที่ยอมรับเพราะนี่คือสิ่งที่ฉันต้องการ:

ภาพรวมจากแท็บปัญหา http://www.freeimagehosting.net/uploads/dea26d5dd0.png

หวังว่านี่จะช่วยคนอื่น ...


2

ดังนั้นเมื่อพบว่าอาจมีแพ็คเกจที่ขาดหายไปใน buildpath ดังนั้น x สีแดงกับโปรเจ็กต์หลักเพื่อลบสิ่งนี้:

1) เข้าไปที่ "Configure Buildpath" ของโปรเจ็กต์ 2) Java Build Path -> Source Tab - คุณจะเห็น x สีแดงเทียบกับแพ็กเกจ / ไฟล์ที่หายไป หากไม่มีอยู่แล้วเพียงแค่ "ลบ" ออก

แดง X เริ่มต้น! :)


1

บางครั้งมีข้อผิดพลาด build path ใน. project และคุณต้องเปลี่ยนไปใช้ Resource view เพื่อดูไฟล์ที่เป็นสาเหตุของข้อผิดพลาด


1

ดังที่คนอื่น ๆ กล่าวไว้การอ้างอิงไฟล์ที่ไม่ดีในเส้นทางการสร้างมักเป็นตัวการ

โดยปกติจะเป็นไฟล์. jar ที่ถูกย้าย / ลบ Eclipse คาดว่าจะพบทุกสิ่งที่อ้างถึงบนเส้นทางการสร้างตามตำแหน่งที่ระบุและจะบ่นถ้าไม่


1

ฉันประสบปัญหาเดียวกันและขั้นตอนด้านล่างสามารถแก้ไขปัญหาได้:

  1. ลบ JRE จาก PROJECT> properties> java build path> libraries

  2. รีสตาร์ท eclipse

  3. เพิ่ม JRE อีกครั้ง

  4. สร้างโครงการใหม่โดยใช้ Project> Clean และเลือกตัวเลือกเพื่อสร้างโดยอัตโนมัติ

โปรดลอง


คำถามนี้เกือบสี่ปีได้รับคำตอบแล้วและนี่เป็นคำตอบที่ซ้ำกัน โปรดโพสต์ข้อมูลใหม่หากมีแนวโน้มว่าจะช่วยผู้เขียนคำถามได้
แซม

ขออภัยในความสับสนอย่างไรก็ตามวิธีที่ฉันเห็นฉันพยายามโพสต์คำตอบใหม่ไม่ให้ซ้ำกัน
อาทิตย์ 2

ฉันอยู่ที่นี่โดยมีปัญหาเดียวกันในวันที่ 28/01/18 ยังดีที่จะให้คำตอบไม่ว่าคำถามจะเก่าแค่ไหนก็ตาม
Tadele Ayelegn

1

การโค่นล้มเป็นครั้งคราวเป็นผู้ร้ายในเรื่องนี้เช่นกัน อาจไม่เกี่ยวข้องกับสภาพแวดล้อมของคุณ แต่อาจมีความคลาดเคลื่อนระหว่างสถานะปัจจุบันและสถานะท้องถิ่นของโครงการ ในกรณีของฉันทำการอัปเดตจากนั้นการคอมมิตไปยังเซิร์ฟเวอร์การโค่นล้มทำให้ฉันได้ผลลัพธ์ที่สะอาดที่คาดหวังโดยไม่มีแฟล็กใด ๆ ในโปรเจ็กต์เช่น X.


ฉันเห็นว่าปลั๊กอิน SVN สำหรับ eclipse ไม่ค่อยเสถียรนัก ฉันมักจะมีปัญหากับพวกเขา ฉันตำหนิพวกเขา (ไม่มีเงื่อนงำใด ๆ เพียงแค่ลางสังหรณ์) สิ่งที่คุณเสนอได้ผลสำหรับฉัน +1
Pantelis Natsiavas

0

ลองสร้างใหม่ ฉันพบว่า x สีแดงจะไม่หายไปเสมอไปจนกว่าจะสร้างใหม่เสร็จ


0

ฉันพบปัญหาที่คล้ายกันหลายครั้งสิ่งที่มักเกิดขึ้นกับฉันคือไฟล์ java จะบอกว่ามันจะไม่รวบรวมในโปรแกรมแก้ไขข้อความ แต่ใน package explorer มันจะบอกว่ามันคอมไพล์ได้ดี

บางครั้งการทำ 'สร้างใหม่' หรือ 'สร้างใหม่ทั้งหมด' ไม่ได้ผลไฟล์ไม่ได้ถูกสร้างขึ้นจริง (ต้องสันนิษฐานไว้ก่อนว่าคราสคิดว่าไฟล์นั้นเป็นไฟล์ล่าสุด) และเมื่อสิ่งนี้เกิดขึ้นฉันมักจะเปิดขึ้น เส้นทางการสร้าง java และเพียงแค่ย้ายการอ้างอิงของฉันลง / ขึ้นตามลำดับการจิก สิ่งนี้บังคับให้คราสสร้างทุกอย่างขึ้นมาใหม่และดูเหมือนว่าจะได้ผลเสมอ

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


0

หากต้องการเพิ่มคำตอบก่อนหน้านี้วิธี "ล้าง" โครงการของคุณที่รุนแรงคือการลบ (นั่นคือการลบการอ้างอิงออกจากพื้นที่ทำงานไม่ใช่การลบไฟล์จริง) จากนั้นจึงนำเข้าใหม่
บางครั้งก็ช่วย ...


0

FindBugs ยังใส่ red-x กับไฟล์ / แพ็คเกจเพื่อระบุข้อผิดพลาดในการวิเคราะห์โค้ดแบบคงที่


0

ฉันได้วิ่งผ่านสิ่งนี้ กรณีของฉันมีส่วนเกี่ยวข้องมากขึ้น โปรเจ็กต์ได้รับการบรรจุอย่างดีจากบรรทัดคำสั่ง maven

สองสิ่งที่ฉันทำ 1. คลาสหนึ่งมีการนำเข้าจำนวนมากที่ทำให้คราสสับสน การทำความสะอาดแก้ไขส่วนหนึ่งของปัญหา 2 กรณีหนึ่งเกี่ยวกับ Setter การกด F3 เพื่อนำทางไปยัง Setter นั้นแม้ว่า eclipse จะบ่นว่าไม่มี ดังนั้นฉันแค่พิมพ์ใหม่และมันก็ใช้งานได้ดี (แม้กระทั่งกับ Setters อื่น ๆ ทั้งหมด)

ฉันยังคงดิ้นรนกับ Implicit super constructor Item () ไม่ได้กำหนดไว้สำหรับตัวสร้างเริ่มต้น ต้องกำหนดตัวสร้างที่ชัดเจน "


0

ฉันยังพบสัญลักษณ์แสดงข้อผิดพลาดที่ไม่น่าเชื่อบนแพ็คเกจเป็นครั้งคราว วิธีกำจัดพวกมันที่ใช้ได้ผลสำหรับฉันคือการลบ JRE System Library ออกจาก Java Build Path อย่างมีประสิทธิภาพและเพิ่มกลับเข้าไปอีกครั้ง


ผู้ถามถามหาสาเหตุคุณให้วิธีแก้ปัญหา
johannes

0

วิธีแก้ปัญหาของฉันที่ได้ผลในที่สุดคือล้างโปรเจ็กต์ทั้งหมดปิดคราสล้างโปรเจ็กต์ทั้งหมดปิดคราสและอื่น ๆ อย่างน้อย 5-6 ครั้ง ในที่สุดทุกอย่างก็สงบลงและทุกอย่างก็เป็นไปตามคาด แปลกที่สุด !!

และไม่มีข้อผิดพลาดในมุมมองปัญหาหรือคอนโซล

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

ไม่ว่าด้วยเหตุผลใดก็ตามที่คอมพิวเตอร์ขัดข้องนั้นได้รับการจัดการโดยคราสไม่ดีจริงๆ


0

นอกจากนี้คุณสามารถอัปเดตโครงการได้โดยคลิก

คลิกขวาที่ชื่อโครงการ -> เลือก Maven -> คลิกขวา -> อัปเดตโครงการ

สิ่งนี้ช่วยฉันได้

ขอบคุณ.


0

ซึ่งอาจเกิดขึ้นได้จากหลายสาเหตุ หากคุณเปลี่ยน jdk แล้ว Project facet จะมี X สีแดงอยู่ข้างๆในขณะที่ไม่มีโฟลเดอร์อื่นแสดงข้อผิดพลาด หากเป็นกรณีนี้ให้แก้ไข jdk ที่แสดง สิ่งนี้เกิดขึ้นเป็นครั้งคราวในคลาส JAX-WS ของเรา ( HSG


0

ฉันแก้ไขของฉันโดย

  • ปิดโครงการอื่น ๆ ทั้งหมด (เช่นตัวเลือกโครงการที่ไม่เกี่ยวข้อง)

  • ทำความสะอาดและสร้าง

โครงการของฉันคือแอนดรอยด์และก็ทำได้


0

สิ่งนี้เกิดขึ้นเมื่อฉันดาวน์โหลด fabric.io บน Eclipse Mars แต่การรีสตาร์ทคอมพิวเตอร์ช่วยแก้ปัญหานี้ให้ฉัน


0

ในกรณีของฉันสิ่งที่แก้ไขปัญหานี้ได้ก็เพียงแค่ปิด Eclipse แล้วเปิดอีกครั้ง ... อย่างไรก็ตามฉันยังไม่แน่ใจว่าเหตุใดจึงเกิดขึ้นหรือเหตุใดจึงได้ผล ฉันมีปัญหาในการทำความสะอาดโครงการของฉัน (มันบอกว่าไม่สามารถลบไฟล์บางไฟล์ได้) และสิ่งนี้แก้ไขได้ :):


0

ฉันมีปัญหาเดียวกัน ฉันตรวจสอบ - แท็บ "ปัญหา" และไม่พบเซิร์ฟเวอร์สำหรับโปรเจ็กต์ ฉันกำหนดเซิร์ฟเวอร์ สีแดง x หายไป


0

คุณสามารถไปที่ project-> Buildpath-> Library

หากมีไลบรารีใด ๆ ที่มีเครื่องหมาย X เช่น [เครื่องหมายกากบาท] ลบออกและพยายามสร้าง มันได้ผลสำหรับฉันเช่นกัน /


0

ฉันพบปัญหานี้ในวันนี้และพบลิงก์นี้ ฉันทำตามที่ Patrick Schaefer กล่าวไว้ข้างต้นและเปิดกล่องโต้ตอบโครงการ Update Maven คลิกที่โครงการที่กำลังทำงานของฉันและเลือกช่องทำเครื่องหมาย "บังคับให้อัปเดตภาพรวม / รุ่นต่างๆ" และ "ตกลง" กาชาดทั้งหมดหายไป ฉันหวังว่านี่จะช่วยทุกคนที่อยู่ในสถานการณ์คล้าย ๆ กัน


-2

คลิกขวาที่โปรเจ็กต์ที่มีข้อผิดพลาดจากนั้นในเมนูย่อยให้เลือก: Maven > UpdateProject >

แล้ว:

  • เลือกช่องทำเครื่องหมายสำหรับโครงการที่เกี่ยวข้องทั้งหมด
  • เลือกบังคับให้อัปเดตสแนปชอต
  • คลิกตกลง

สิ่งนี้ได้ผลสำหรับฉัน ..

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