Eclipse“ ข้อผิดพลาด: ไม่พบหรือโหลดคลาสหลัก”


108

ฉันมีโครงการใน eclipse บนแล็ปท็อปของฉันที่ฉันส่งไปที่ Git https://github.com/chrisbramm/LastFM-History-Graph.git

มันทำงานได้อย่างสมบูรณ์บนแล็ปท็อปของฉันและรัน / สร้างโดยไม่มีปัญหา แต่บนเดสก์ท็อปของฉัน Eclipse ไม่ให้ข้อผิดพลาด

ข้อผิดพลาด: ไม่พบหรือโหลดคลาสหลัก lastfmhistoryguis.InputPanel

ฉันได้ลองสร้างโครงการจาก:

Project>Build Project

แต่ไม่มีอะไรเกิดขึ้น. ฉันได้ตั้งค่าPATHตัวแปรบนคอมพิวเตอร์เครื่องนี้เป็นJRE6, JRE7 และ JDK 1.7.0แม้ว่าจะไม่ได้ตั้งค่าบนแล็ปท็อปก็ตาม

ฉันมีไฟล์ Jar ( last.fm-bindings-0.1.1.jar ) ที่อยู่ใน.classpathไฟล์ของฉันที่อยู่ในโฟลเดอร์C: \ Users \ Chris \ Downloadsบนแล็ปท็อปของฉันดังนั้นมันจึงไม่รวมอยู่ในโครงสร้างคอมไพล์ที่ฉัน เพิ่งเข้ามาในโฟลเดอร์โครงการและมุ่งมั่น แต่ฉันไม่แน่ใจว่าทำถูกต้องหรือไม่ สิ่งนี้จะก่อให้เกิดปัญหาด้วยหรือไม่ แต่ไม่มีข้อโต้แย้งหลักในนั้น

ตอนนี้ฉันไม่สามารถดำเนินการได้ต้องตรวจสอบ / เปลี่ยนแปลงอะไรบ้าง


25
คุณได้ลอง Project> Clean and Project> Build Project หรือไม่
javaCity

3
หลายครั้งและดูเหมือนจะไม่ได้ผล
คริส


คลาสพา ธ สิ่งแวดล้อมของระบบรวมถึง ฉันต้องเปลี่ยนที่อื่นและต้องทำอะไรเป็นพิเศษ
คริส

ในกรณีของฉันฉันวิ่งในjava .\bin\selenium-server-standalone-3.9.1.jarเวลาที่ควรจะเป็นjava -jar .\bin\selenium-server-standalone-3.9.1.jar
Coty Embry

คำตอบ:


40

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

ใน classpath ของคุณคุณควร (และโดยทั่วไปแล้วถ้าคุณจะรวม JARS กับโปรเจ็กต์ของคุณ) ให้ใช้เส้นทางสัมพัทธ์:

ในการเปลี่ยนแปลง. classpath ของคุณ

<classpathentry kind="lib" path="C:/Users/Chris/Downloads/last.fm-bindings-0.1.1.jar" sourcepath=""/><classpathentry kind="lib" path="C:/Users/Chris/Downloads/last.fm-bindings-0.1.1.jar" sourcepath=""/>

ถึง

<classpathentry kind="lib" path="last.fm-bindings-0.1.1.jar"/>

19
จะเปลี่ยนสิ่งนี้ได้อย่างไร?
Aequitas

ฉันไม่มีกระปุกภายนอก แต่ฉันประสบปัญหาที่คล้ายกัน stackoverflow.com/questions/49738153/…
Jesse

@Aequitas ทำการ "Run" -> "Run As" -> "Java Application" หนึ่งครั้งและจะกำหนดเส้นทางชั้นเรียนโดยอัตโนมัติ ดูคำตอบของ Blamkin86 การตั้งค่า Classpath สามารถพบได้ใน "Run" -> "Run Configurations ... "
gkubed

72

หากคุณสร้างคลาส java ด้วยpublic static void main(String[] args)Eclipse จะเรียกใช้เมธอดหลักนั้นให้คุณโดยคลิกขวาที่ไฟล์นั้นเองหรือบนไฟล์ใน project explorer จากนั้นเลือก:

"Run As" -> "Java Application"

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

หากคุณย้ายคลาส java ในภายหลัง (ด้วยตนเองหรืออย่างไรก็ตาม) ให้เลือกอีกครั้ง

"Run As" -> "Java Application"

จากตำแหน่งใหม่ Eclipse จะรันคอนฟิกูเรชันที่เก็บไว้เดิมพยายามเรียกคลาสนี้จากตำแหน่งเดิมซึ่งทำให้เกิดข้อผิดพลาดนี้



วิธีแก้ปัญหา:สำหรับฉันการแก้ไขคือไปที่การกำหนดค่าการเรียกใช้ (ปุ่มเล่นสีเขียว -> เรียกใช้การกำหนดค่า) และลบการอ้างอิงทั้งหมดไปยังชั้นเรียน ครั้งต่อไปที่คุณเรียกใช้

"Run As" -> "Java Application"

Eclipse จะเขียนการกำหนดค่าใหม่สำหรับคลาสที่ย้ายและข้อผิดพลาดจะหายไป


2
ขอบคุณ .. !! อันนี้ใช้ได้ผลสำหรับฉัน ปัญหาเริ่มต้นเมื่อฉันเปลี่ยนชื่อโครงการ
NixRam

+1 public static void main(String[] args)คือสิ่งที่ทำให้ฉันได้รับ ฉันมีลายเซ็นผิดโดยบังเอิญ ( Mainแทนที่จะเป็นmain) ดังนั้นสิ่งสำคัญคือต้องตรวจสอบให้แน่ใจว่าลายเซ็นถูกต้อง :)
Nicholas Miller

10
เราจะ "ลบการอ้างอิงทั้งหมดไปยังชั้นเรียน" ได้อย่างไร?
aCarella

2
ทำงานอย่างมีเสน่ห์ ปัญหาของฉันคือฉันสร้าง build.gradle และ settings.gradle ที่กำลังเปลี่ยนชื่อเริ่มต้นที่เกี่ยวข้องกับโปรเจ็กต์ การลบการอ้างอิง (รันเป็น -> รันคอนฟิกูเรชัน -> ลบคอนฟิกูเรชันทั้งหมดที่เกี่ยวข้องกับโปรเจ็กต์)
Randombee

1
"ลบการอ้างอิงทั้งหมดไปยังคลาส" - ฉันจะลบการกำหนดค่าการรันทั้งหมดหรือไม่
jcool

55

tl; dr : ทำความสะอาด Build Path ทั้งหมดของคุณและทุกสิ่งที่คุณเคยเพิ่มเข้าไปด้วยตนเอง ซึ่งรวมถึงแหล่งข้อมูลเพิ่มเติมโครงการห้องสมุด

  • โครงการ -> ทำความสะอาด
  • ตรวจสอบให้แน่ใจว่าโครงการ -> สร้างโดยอัตโนมัติเปิดใช้งานอยู่
  • โครงการ -> Properties -> Java เส้นทางรูปร่าง -> ห้องสมุด: นำ libs ภายนอกใด ๆ ที่คุณเคยเพิ่ม อย่าลบไลบรารีมาตรฐานเช่นไลบรารีระบบ JRE
  • ลองเรียกใช้คลาสหลักของคุณตอนนี้ ข้อผิดพลาด "ไม่พบ / โหลดคลาส" ควรจะหายไป ลองเพิ่ม libs / jar ภายนอกของคุณทีละรายการ

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

ในกรณีของฉันมันควรจะเป็น "ไม่สามารถเพิ่ม AutoHotkey.dll ไปยังเส้นทางการสร้าง" เพราะนั่นคือสิ่งที่ทำให้คอมไพเลอร์ล้มเหลว


หากยังใช้งานไม่ได้ให้ดูที่ErrorLog ในตัวของ Eclipse :

หน้าต่าง -> แสดงมุมมอง -> ทั่วไป -> บันทึกข้อผิดพลาด


28

ฉันทำทุกสิ่งที่กล่าวมาแล้ว แต่ไม่มีสิ่งใดที่ได้ผลสำหรับฉัน

ปัญหาของฉันได้รับการแก้ไขดังนี้:

  1. คลิกขวาบนโครงการ> Properties> JavaBuildPath> ห้องสมุด
  2. ลบไฟล์ jar โดยมีแฟล็กสีแดงอยู่
  3. หากปัญหายังคงมีอยู่ให้ลองวิธีแก้ไขด้านล่าง สิ่งนี้ใช้ได้ผลสำหรับฉันเมื่อฉันประสบปัญหานี้เป็นครั้งที่สอง:
    1. คลิกขวาที่ Project> Properties> Java Build Path> Libraries
    2. ลบไลบรารี
    3. เพิ่มไลบรารี (เลือก JRE System Library)

ทำงานให้ฉัน! ฉันยังมีเครื่องหมายอัศเจรีย์ถัดจากชื่อโฟลเดอร์โครงการของฉัน สิ่งนี้คงที่เช่นกัน
benzabill

ทำงานให้ฉัน! ขอบคุณ
Dhruv Kaushal

1
สิ่งนี้ทำงานได้โดยเพียงแค่ลบและเพิ่มไลบรารี java JRE เดียวกัน
Andrew Norman

ที่ได้ผลสำหรับฉันแม้ว่าจะไม่มีคำเตือนหรือเครื่องหมายอัศเจรีย์
Michał Leon

คุณเพิ่งบันทึกโครงการ AP Java ของฉันอย่างแท้จริงคุณไม่รู้เลยขอบคุณมาก
Rohan Singh

18

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

mvn clean install -U
ฉันไม่รู้สาเหตุที่แท้จริงเบื้องหลัง


1
เหมือนกันสำหรับฉัน - ไม่รู้เหมือนกันว่าทำไมถึงเกิดขึ้นตั้งแต่แรก
58

ในคราสคลิกขวาRun As..Maven cleanแล้วRun As..Maven installทำเพื่อฉัน ปัญหาเริ่มต้นเมื่อฉันเปลี่ยนโปรเจ็กต์ eclipse java ให้กลายเป็นโปรเจ็กต์ eclipse maven +1 เพื่อชี้ไปในการสร้างที่ถูกต้อง
CodeMed

-U, - update-snapshots บังคับให้ตรวจสอบการเผยแพร่ที่หายไปและภาพรวมที่อัปเดตบนที่เก็บระยะไกล
Kanagavelu Sugumar

9

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


9

ฉันมีปัญหาเดียวกันและแก้ไขโดยใช้:

Eclipse Mars
Egit
Github
Maven Project

ปัญหาคือฉันทำให้โครงการ maven ของฉันพร้อมใช้งานสำหรับ github มันย้ายโครงการของฉันไปยังโฟลเดอร์ github ของฉัน

สารละลาย:

  • ปิด Eclipse
  • ลบโฟลเดอร์ข้อมูลเมตาภายในพื้นที่ทำงานของคุณ
  • รีสตาร์ท Eclipse

หน้าจอเริ่มต้นจะแสดงขึ้น

  • ปิดหน้าจอเริ่มต้น
  • คลิกขวาในโปรแกรมสำรวจแพ็คเกจ
  • เลือก "import maven project"
  • ไปที่โฟลเดอร์ github ของคุณและนำเข้าโครงการ maven

หลังจากนี้โครงการของฉันก็ประสบความสำเร็จ


7

ตรวจสอบว่าโครงการของคุณมีเครื่องมือสร้างโดย:

  • ตรวจสอบคุณสมบัติของโปรเจ็กต์ (ใน "package explorer" คลิกขวาที่โปรเจ็กต์เลือก "properties") ส่วนที่สองคือ "Builders" และควรมีค่าเริ่มต้น "Java Builder"
  • หรือดูในไฟล์ ".project" (ใน ... / workspace / yourProjectName / .project) ส่วน "buildSpec" ไม่ควรว่างเปล่า

ต้องมีวิธีอื่น แต่สิ่งที่ฉันทำคือ:

  • ปิดคราส
  • แก้ไขไฟล์. "project" เพื่อเพิ่มส่วน "buildSpec"
  • รีสตาร์ทคราส

ไฟล์ java ".project" ขั้นต่ำที่เหมาะสมควรมีลักษณะดังนี้:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
        <name>myProjectName</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
                <buildCommand>
                        <name>org.eclipse.jdt.core.javabuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
        </buildSpec>
        <natures>       
                    <nature>org.eclipse.jdt.core.javanature</nature>
        </natures>      
</projectDescription>

1
สิ่งนี้แก้ไขให้ฉัน คุณไม่จำเป็นต้องปิด Eclipse เพื่อเปลี่ยน.projectไฟล์คุณสามารถปิดโปรเจ็กต์ได้
Luís de Sousa

ในทางกลับกันฉันเพิ่งปิด Eclipse (แต่ไม่ได้แก้ไข.projectไฟล์เปิด Eclipse อีกครั้งและใช้งานได้: ข้อผิดพลาดหายไป
Shahar

6

สิ่งต่อไปนี้ใช้ได้ผลสำหรับฉัน ...

  1. เข้าไปในโฟลเดอร์โครงการ (ด้านในworkspace)
  2. จากนั้นลบbinโฟลเดอร์
  3. จากนั้นล้างโปรเจ็กต์ / โปรเจ็กต์ (ใน Eclipse)
  4. สร้าง / รันจาก Eclipse

ยินดีต้อนรับสู่ SO, DeeCod การลบโฟลเดอร์ bin และทำ "project> clean" และ build ได้รับการแนะนำในคำตอบอื่น ๆ แล้ว แทนที่จะโพสต์คำตอบว่า "ฉันด้วย" ฉันขอแนะนำให้สร้างชื่อเสียงให้เพียงพอ (คุณต้องการเพียง 50 คน) เพื่อโพสต์ความคิดเห็นและยืนยันว่าวิธีการใดวิธีหนึ่งใช้ได้ผลกับคุณในความคิดเห็น
Amos M. Carpenter

1
ขอบคุณ Amos! อย่างไรก็ตามฉันขอโทษถ้าฉันผิดเท่าที่ฉันเห็น -> การลบถังขยะก่อนที่จะ Clean / rebuild ไม่ได้รับการแนะนำในคำตอบอื่น ๆ ในหัวข้อนี้ ... Just Clean> build ไม่ทำงานในสถานการณ์ของฉัน ... ตราบใดที่สิ่งนี้ ช่วยใครสักคน :)
DeeCode

ไม่ต้องกังวล - ฉันเจอสถานการณ์เหล่านี้มากมายที่การพยายามผสมผสานสิ่งแปลก ๆ ได้ผลโดยไม่มีเหตุผลชัดเจน ;-)
Amos M. Carpenter

4

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

ลองไปที่คุณสมบัติของโปรเจ็กต์> Java Build Path> แท็บ Order And Export> เลือกทั้งหมด (หรือลองเล่นด้วยกล่องกาเครื่องหมายที่นั่น)

สิ่งนี้ควรทำให้เกิดการสร้างโปรเจ็กต์ใหม่และ Eclipse เพื่อดูคลาสหลัก

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


4

ปัญหาMain classไม่พบหรือโหลดของฉันเกิดจากสาเหตุที่น่าสนใจ

ในโครงการของเราเราใช้Mavenเป็นเครื่องมือสร้างและmain class extendsคลาสของฉันซึ่งอยู่ในclass pathขอบเขต แต่ขอบเขตของมันคือtestในขณะที่main classไม่ได้อยู่ในแพ็คเกจทดสอบ

หากคลาสหลักของคุณextendsเป็นคลาสก่อนอื่นให้พยายามเรียกใช้main classโดยการลบextendsส่วนหนึ่งออก ถ้ามันจะทำงานอย่างน้อยคุณจะเข้าใจว่าปัญหาไม่ได้เพราะrun configurationหรือแต่ชั้นเรียนของคุณeclipsemain class extends


4

สำหรับฉันสาเหตุที่ข้อผิดพลาดนี้เริ่มปรากฏขึ้นเนื่องจาก classpath ทำงานเกินขีด จำกัด บน windows จากนั้นฉันก็ค้นพบตัวเลือก "ใช้ JAR ชั่วคราวเพื่อระบุคลาสพา ธ (เพื่อหลีกเลี่ยงข้อจำกัดความยาวคลาสพา ธ )" การเลือกตัวเลือกนี้ช่วยแก้ปัญหาให้ฉันได้ ตัวเลือกนี้อยู่ในแท็บ Run / Debug Configuration, Classpath โปรดดูภาพด้านล่าง

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


3

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


3

หากคุณกำลังใช้ eclipse ขั้นตอนต่อไปนี้จะช่วยแก้ปัญหาของคุณ:

ไปที่ Run -> Run Configurations -> Main Class Search -> Locate your class ด้วยตนเอง -> Apply -> Run


3

ฉันมีข้อผิดพลาดนี้ มันเป็นเพราะฉันมี static void main(String[] args)
แทน public static void main(String[] args)

ฉันใช้เวลาเกือบหนึ่งชั่วโมงในการพยายามคิดออก

หมายเหตุ:ข้อแตกต่างเพียงอย่างเดียวคือฉันไม่ได้ประกาศว่าmainเป็นpublic


3

หากรหัสของคุณดีและคุณรู้ว่าคุณกำลังมีปัญหา Eclipse สิ่งนี้จะแก้ปัญหาได้

คุณสามารถลบ $ yourproject / .classpath, $ yourproject / .project และ $ yourworkspace / .metadata มีคนอื่นพูดถึงตัวเลือกนี้ มันจะระเบิดพื้นที่ทำงานทั้งหมดของคุณ แทน:

  1. ลบ. classpath และ. project ออกจากโปรเจ็กต์ของคุณ
  2. ลบโครงการของคุณใน eclipse ไม่ได้ตรวจสอบเนื้อหาโครงการลบบนดิสก์
  3. ตอนนี้ใน file explorer ไปที่ $ yourworkspace / .metadata
  4. ค้นหา $ yourprojectname
  5. ลบทุกสิ่งที่คุณพบ ควรเป็น safe-ish ที่จะลบอะไรก็ได้ในไดเร็กทอรี. metadata
  6. ใน eclipse: File> Import> General> Projects from Folder or Archive> $ yourproject> finish
  7. คลิกขวาที่โปรเจ็กต์ของคุณ> คุณสมบัติ> Java Build Path> แท็บ Source
  8. เลือกโฟลเดอร์ต้นทางทั้งหมดลบ
  9. เพิ่มโฟลเดอร์เลือก src (ชื่อโฟลเดอร์ src ของคุณ) แล้วเพิ่ม
  10. ไปที่แท็บไลบรารี
  11. เพิ่มไหลงในเส้นทางการสร้างของคุณที่นี่ ตอนนี้ไม่ควรมีข้อผิดพลาดอีกต่อไปในโครงการของคุณ
  12. ดำเนินโครงการของคุณเหมือนที่คุณทำตามปกติ

ฉันเขียนทับไฟล์.classpathและ.projectไฟล์ด้วยไฟล์จากโปรเจ็กต์อื่นและมันใช้งานได้ ... นั่นเป็นเรื่องบังเอิญหรือคลาสพา ธ เป็นสิ่งที่สำคัญจริงๆ?
Amarth Gûl

อาจเป็นเรื่องบังเอิญเนื่องจากไฟล์เหล่านั้นเป็นไฟล์เฉพาะสำหรับโครงการของคุณ คุณอาจทำให้ eclipse สร้างไฟล์เหล่านั้นขึ้นมาใหม่โดยไม่รู้ตัวโดยการแนะนำข้อผิดพลาด เปิดไฟล์และอ่านแล้วคุณจะรู้ว่าพวกเขาทำอะไร Classpath มีไดเร็กทอรีโฟลเดอร์ libs และ src และ. project เก็บปลั๊กอินและเนื้อหาด้านโครงการ
Brent Sandstrom

3

นี่อาจเป็นสาเหตุของไลบรารี jdk หากคุณนำเข้า jre

สิ่งนี้เกิดขึ้นกับฉันดังนั้นตรวจสอบขวด jre ที่ติดตั้งไว้

ใน eclipse คลิกที่ Windows> Preferences> Java> Installed Jres> คลิกที่ Jre และแก้ไขหลังจากนั้นดูในรายการ jar ให้แน่ใจว่าไม่มี jdk หรือเสียหาย ใส่คำอธิบายภาพที่นี่


2

ฉันพบปัญหาเดียวกัน แต่ในกรณีของฉันมันเกิดจากโฟลเดอร์ซอร์ส (ว่างเปล่า) หายไป (มีอยู่ในโปรเจ็กต์ดั้งเดิม แต่ไม่อยู่ในที่เก็บ GIT เพราะว่างเปล่า)

หลังจากสร้างโฟลเดอร์ที่หายไปทุกอย่างใช้งานได้


2

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

นั่นเป็นเคล็ดลับสำหรับฉันอย่างน้อย


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

2

วันนี้ฉันพบข้อผิดพลาดนี้เนื่องจากฉันตั้งค่าโปรแกรม hello world จากนั้นตัดและวางโปรแกรมใหม่ลงในไฟล์เดียวกัน เพื่อแก้ไขปัญหาไม่พบสวัสดีชาวโลกคนสุดท้ายเรียกว่าฉันคลิกเรียกใช้ -> เรียกใช้การกำหนดค่าจากนั้นในชั้นหลักฉันคลิกค้นหาและพบชื่อคลาสใหม่ของฉันและแทนที่ด้วยชื่อใหม่ที่ถูกต้องในข้อความที่ฉันวาง . นี่เป็นปัญหามือใหม่ที่ฉันรู้ แต่ก็แก้ไขได้ง่ายเช่นกัน ฉันหวังว่านี่จะช่วยใครสักคน! ดักลาส


2

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

เนื่องจากเป็นโครงการ Maven ทั้งหมดที่ฉันทำคือ:

  1. mvn eclipse: สะอาด
  2. ลบโปรเจ็กต์ eclipse
  3. นำเข้าโครงการ
  4. เสร็จแล้ว

หวังว่ามันจะช่วยได้!


2

ส่วนใหญ่เกิดขึ้นเนื่องจาก Eclipse ล้าง.classไฟล์ แต่อย่าสร้างขึ้นมาใหม่ ตรวจสอบbinโฟลเดอร์ควรว่างเปล่า จากนั้นคุณควรตรวจสอบว่ามีอะไรอีกไหมที่ทำให้ build ti ล้มเหลว คุณอาจเพิ่ม jar บางตัวใน classpath ซึ่ง Eclipse อาจไม่พบ


2

เพียงไปที่ Package Explorer ของคุณแล้วกด F5 หรือสำหรับแล็ปท็อปบางเครื่อง fn + F5 เหตุผลก็คือ eclipse คิดว่าไฟล์อยู่ที่ไหนสักแห่ง แต่จริงๆแล้วไฟล์นั้นอยู่ที่อื่น การรีเฟรชจะทำให้คุณวางทั้งสองอย่างในหน้าเดียวกัน ไม่ต้องกังวลคุณจะไม่สูญเสียอะไรเลย แต่ถ้าคุณต้องการเพิ่มความระมัดระวังให้สำรองไฟล์จากโฟลเดอร์ java project ของคุณไปยังที่ที่ปลอดภัย


สิ่งนี้ได้ผลสำหรับฉัน ฉันพบปัญหาหลังจากอัปเกรดเป็น Eclipse เวอร์ชันใหม่กว่า เป็นโปรเจ็กต์ gradle และ gradle clean eclipse ไม่สามารถแก้ปัญหาได้ การรีเฟรชทำได้ง่าย
dnuttle

2

นี่คือขั้นตอนง่ายๆที่ช่วยฉันแก้ปัญหานี้

  1. ปิดคราส
  2. ลบโฟลเดอร์ ".metadata" ในพื้นที่ทำงานของคุณ (อาจเป็นโฟลเดอร์ที่ซ่อนอยู่)
  3. เปิด eclipse (มันจะสร้างโฟลเดอร์ ".metadata" ในพื้นที่ทำงานของคุณโดยอัตโนมัติ)
  4. ลองรันโปรแกรม

สิ่งนี้จะเลิกผูกโปรเจ็กต์ของฉันจากพื้นที่ทำงาน คุณจะต้องนำเข้าโครงการทั้งหมดอีกครั้ง!
Muhammad Gelbana

ฉันเห็นด้วยกับ @MuhammadGelbana ฉันลบ. metadata และทำให้พื้นที่ทำงานของฉันเสียหาย โปรดใช้ความระมัดระวังเป็นอย่างยิ่งเมื่อลองใช้วิธีนี้
TYMG

2

ในการแก้ไขข้อผิดพลาดนี้ให้ทำตามขั้นตอนต่อไปนี้:

ขั้นตอนที่ 1: เปิดไฟล์. project

ขั้นตอนที่ 2: ตรวจสอบสองแท็ก ...

    a) <buildSpec>

    b) <natures>

ขั้นตอนที่ 3: หากแท็กดังกล่าวข้างต้นไม่มีเนื้อหาใด ๆ ข้อผิดพลาดข้างต้นจะเกิดขึ้นอย่างแน่นอน

ขั้นตอนที่ 4: เพิ่มเนื้อหาต่อไปนี้ในแต่ละแท็กเพื่อแก้ไขข้อผิดพลาดข้างต้น

สำหรับ<buildSpec>:

<buildSpec>
    <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
</buildSpec>

สำหรับ<natures>:

<natures>
    <nature>org.eclipse.jdt.core.javanature</nature>
</natures>

ขั้นตอนที่ 5: บันทึกไฟล์ของคุณโดยกดปุ่ม ctrl + s

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

ขั้นตอนที่ 7: แค่นั้นแหละ เตรียมโยกได้เลย !!!

โปรดระบุในความคิดเห็นหากวิธีแก้ปัญหามีประโยชน์

ขอบคุณ.


2

ตรวจสอบบันทึกข้อผิดพลาดของพื้นที่ทำงาน (Windows-> Show View -> Error log) หากคุณเห็นว่า jar ใด ๆ ที่อิมพอร์ตเสียหายให้ลบโฟลเดอร์ที่เก็บที่เกี่ยวข้องและนำเข้าใหม่อีกครั้ง


2

ทางออก 2 ประเภทออกจากกัน

(1) ไปที่รันคอนฟิกูเรชัน: - รัน -> รันคอนฟิกูเรชันในแท็บคลาสพา ธ :

เลือก Advanced Add โดยที่ Eclipse มักจะใส่ * .class สำหรับโปรเจ็กต์ซึ่งอยู่ใน bin ดังนั้นฉันจึงเพิ่มไดเร็กทอรี bin สำหรับโปรเจ็กต์

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

ฉันหวังว่ามันจะช่วยได้


1

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


1

ฉันเพิ่งมีปัญหานี้หลังจากครั้งแรกที่มีปัญหา Windows 8 ปฏิเสธที่จะอัปเดตเส้นทางของฉันไม่ว่าฉันจะตั้งค่า JAVA_HOME เป็นอะไรก็ตาม - java -version รายงาน JDK ล่าสุดแทนที่จะเป็นไฟล์ที่ฉันเก็บไว้ใน JAVA_HOME ในที่สุดฉันก็สามารถใช้งานได้โดยใส่ '% JAVA_HOME% / bin;' ที่ด้านหน้าของตัวแปรสภาพแวดล้อมเส้นทางแทนที่จะเป็นตอนท้าย จากนั้นฉันก็เปิดตัว Eclipse และทันใดนั้นก็ไม่พบคลาสหลักของฉันเมื่อก่อนหน้านี้ทำงานได้ดี สิ่งที่ฉันทำเพื่อแก้ไขคือไปที่คุณสมบัติโครงการลบไลบรารี JRE ที่มีอยู่ออกจากแท็บไลบรารีเพิ่ม JRE ใหม่โดยเลือกปุ่ม "เพิ่มไลบรารี" จากนั้นทำตามคำแนะนำเพื่อติดตั้ง JRE 7 เป็น JRE เริ่มต้นของฉัน ตอนนี้ทุกอย่างกลับมาทำงานแล้ว


1

ฉันพบวิธีแก้ปัญหาอื่นในกรณีของฉันปัญหานี้: Eclipse->Preferences->Java->Installed JREจากนั้นกดปุ่มค้นหา เลือกโฟลเดอร์ใน Linux /usrจากนั้น Eclipse จะพบ JVM ทั้งหมด

เลือก JVM อื่นในปัจจุบันมากเกินไป ได้รับการแก้ไขสำหรับกรณีของฉัน

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