การดีบัก Java Eclipse: ไม่พบซอร์ส


179

ขณะทำการดีบั๊กแอป java ใน eclipse ฉันได้รับข้อผิดพลาด " ไม่พบแหล่งที่มา " ในสองกรณี:

  • เข้าสู่ไฟล์ในโครงการอื่นซึ่งนำเข้ามาแล้ว
  • เข้าสู่ไฟล์ในที่เก็บ maven ที่ติดตั้ง

ไฟล์อยู่ที่นั่น แต่ eclipse จะไม่ก้าวเข้ามาแทนที่มันจะแสดงปุ่มเพื่อ " แนบซอร์ส "

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

ฉันใหม่สำหรับeclipse \ javaดังนั้นคำอธิบายว่าทำไมสิ่งนี้จึงเกิดขึ้น + วิธีแก้ไขปัญหานี้จะช่วยได้มาก!

คำตอบ:


53

การดีบัก Eclipse ทำงานกับคลาสที่โหลดจริงโดยโปรแกรม

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

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

แก้ไข: โปรดทราบว่าในปี 2018 เป็นเรื่องปกติที่จะใช้เฟรมเวิร์กการสร้างเช่น Maven ซึ่งมีการจัดการเส้นทางการสร้างโดยปลั๊กอิน m2e ดังนั้นปัญหานี้ควรเกิดขึ้นน้อยกว่าเมื่อถามคำถาม หากคุณใช้ Maven และ m2e ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานการกำหนดค่าตามความชอบ / Maven / "ดาวน์โหลด Artifact Sources" หรือคลิกขวาที่โครงการ Maven / "Download Sources"


สวัสดีขอบคุณสำหรับทุกคน แต่ฉันพบคำตอบนี้มีประโยชน์มากขึ้น (stack over flow link) [ stackoverflow.com/questions/5815013/…
shareef

11
@shareef ลิงก์นั้นเกี่ยวกับ javadoc ที่หายไปไม่ใช่แหล่งที่มาที่หายไป
Thorbjørn Ravn Andersen

@ ACV ดีใช่ บางทีมันอาจไม่ซับซ้อนอย่างที่คุณต้องการ - คุณช่วยบอกฉันหน่อยได้ไหมว่าคุณอยากอธิบายอะไรดีขึ้นบ้าง?
Thorbjørn Ravn Andersen

คำตอบคือวิธีการพูดอื่น: ปัญหาคือ "ไม่พบแหล่งที่มา" และคำแนะนำของฉันคือ "พยายามที่จะหาแหล่งที่มา"
Junchen หลิว

1
@dhein ลองเปิดคำถามใหม่พร้อมรายละเอียดที่มากขึ้น
Thorbjørn Ravn Andersen

301

เพียง 3 ขั้นตอนในการกำหนดค่า Eclipse IDE:

หมายเหตุ:หลังจากอัปเดตพา ธ การค้นหาแหล่งที่มาคุณจะต้องหยุดและเริ่มเซสชันการดีบักใหม่ มิฉะนั้นไฟล์ที่มีแหล่งข้อมูลที่หายไปจะยังคงแสดง "แหล่งข้อมูลที่หายไป"

Edit Source Lookup เลือกคำสั่ง Edit Source Lookup ... [Edit Source Lookup] เพื่อเปิด Source Path Dialog ซึ่งช่วยให้คุณสามารถเปลี่ยนแปลงพา ธ การค้นหาต้นทางของเป้าหมายการดีบักที่เลือก

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

สำคัญ รีสตาร์ท Eclipseหลังจากขั้นตอนสุดท้ายนี้


7
การแก้ไขการค้นหาแหล่งที่มาใช้งานได้จริงสำหรับฉัน ขอบคุณ Douglas Frari
stephen ebichondo

3
ทำงานเหมือนจับใจ ขอบคุณ!
Carlos Spohr

11
และจะเกิดอะไรขึ้นถ้ามันไม่ทำงาน ... เพราะมันไม่ได้ผลสำหรับฉัน
Saras Arya

11
สำคัญ!! ทำงานได้ดี แต่หลังจากฉันหยุดแอปพลิเคชันที่ทำงานอยู่และรีสตาร์ท จนกว่าฉันจะทำมันดูเหมือนว่ามันยังไม่ได้รับแหล่งที่มา
Jeach

1
ฉันได้จัดการกับสิ่งนี้ในและนอกเป็นเวลาหลายเดือน มันทำงานได้อย่างสมบูรณ์แบบ
aCarella

45

อาการอธิบายได้อย่างสมบูรณ์แบบกรณีที่คลาสที่พบไม่มีแหล่งที่เกี่ยวข้อง (หรือที่ได้รับมอบหมาย)

  • คุณสามารถเชื่อมโยงแหล่งที่มาสำหรับคลาส JDK ในการตั้งค่า> Java> JRE ที่ติดตั้งแล้ว หากตรวจพบ JRE (ไม่ใช่ JDK) เป็น JRE เริ่มต้นที่จะใช้คลาส JDK ของคุณจะไม่มีแหล่งที่แนบมา โปรดทราบว่าไม่ใช่คลาส JDK ทั้งหมดที่ได้จัดเตรียมแหล่งข้อมูลไว้บางส่วนมีการแจกจ่ายในรูปแบบไบนารีเท่านั้น
  • เรียนจากเส้นทางการสร้างของโครงการเพิ่มด้วยตนเองต้องให้คุณแนบแหล่งข้อมูลที่เกี่ยวข้องด้วยตนเอง แหล่งที่มาสามารถอยู่ในไฟล์ zip หรือ jar ในเวิร์กสเปซหรือในระบบไฟล์ Eclipse จะสแกนซิปดังนั้นแหล่งที่มาของคุณไม่จำเป็นต้องอยู่ในรูทของไฟล์เก็บถาวรตัวอย่างเช่น
  • คลาสจากการพึ่งพาที่มาจากปลั๊กอินอื่น (maven, PDE, ฯลฯ ) ในกรณีนี้ขึ้นอยู่กับปลั๊กอินที่จะให้แหล่งที่มา
    • PDEจะต้องการให้แต่ละปลั๊กอินมีบันเดิลXXX.source ที่สอดคล้องกันซึ่งมีแหล่งที่มาของปลั๊กอิน ข้อมูลเพิ่มเติมสามารถพบได้ที่นี่และที่นี่
    • m2eclipseสามารถดึงซอร์สและ javadocs สำหรับการพึ่งพา Maven หากมี คุณลักษณะนี้ควรเปิดใช้งานการตั้งค่าm2eclipse (ตัวเลือกนี้มีชื่อบางอย่างเช่น " แหล่งดาวน์โหลดและ javadocs "
    • สำหรับปลั๊กอินอื่น ๆ คุณจะต้องศึกษาเอกสารของพวกเขา
  • คลาสที่โหลดจากโครงการของคุณจะถูกจับคู่โดยอัตโนมัติกับแหล่งที่มาจากโครงการ

แต่จะเกิดอะไรขึ้นถ้า Eclipse ยังแนะนำให้คุณแนบซอร์สแม้ว่าฉันจะตั้งคลาสและแหล่งที่มาของมันอย่างถูกต้อง:

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

Eclipse ไม่พบสิ่งใดเลยเมื่อกดเบรกพอยต์:

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

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

ฉันไม่เห็นตัวแปรเมื่อกดเบรกพอยต์หรือเพิ่งเปิดแหล่งที่มา แต่ไม่ได้เลือกบรรทัดเบรกพอยต์:

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

Eclipse source Viewer แสดงบรรทัดที่แตกต่างจากที่เรียกใช้จริง:

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


คำตอบที่ยอดเยี่ยม! ชิ้นอาหารอันโอชะที่หายไปจากคำตอบนี้มีเฉพาะสำหรับบันเดิลของ OSGi: Eclipse สามารถค้นหาแหล่งที่มาได้ถ้าบันเดิลมี OSGI-OPT / src และบันเดิลอยู่ในพา ธ บิลด์ของโครงการ Eclipse ดูรายการ stackoverflow อื่น ๆ นี้สำหรับรายละเอียด: stackoverflow.com/questions/9720483/…
buzz3791

บางทีคุณอาจจะดูที่นี้ - ฉันออกจากสิ่งที่จะลองแล้ว ..
DisplayName

ดีแล้วที่รู้. ทฤษฎีมากมาย แต่ไม่มีวิธีแก้ปัญหาในทางปฏิบัติ
MasterJoe2

11

จากhttp://www.coderanch.com/t/587493/vc/Debugging-Eclipse-Source

"เมื่อทำงานในโหมดดีบั๊กให้คลิกขวาที่เธรดที่กำลังรัน (ในแท็บเธรด) และเลือกแก้ไขการค้นหาแหล่งที่มา ณ จุดนี้คุณควรจะสามารถเพิ่มโครงการ / jar ที่จำเป็นซึ่งมีซอร์สโค้ดของคุณได้"

ฉันเพิ่มโครงการปัจจุบันของฉันด้วยวิธีนี้และแก้ไขปัญหาได้


ฉันต้องทำสิ่งนี้ในมุมมอง Debug ภายใต้ "Remote Java Application" หรือ "Java HotSpot VM"
Abdull

9

ฉันมีปัญหาที่คล้ายกันกับโครงการ eclipse maven ของฉัน ฉันต่อสู้กับปัญหานี้ค่อนข้างนานแล้วฉันก็พยายามสร้างโครงการใหม่ด้วย

mvn clean eclipse:eclipse

และมันช่วย

หมายเหตุ: การใช้วิธีการนี้จะสร้างความสับสนให้กับปลั๊กอิน m2e เนื่องจากแนวทางทั้งสองนั้นแตกต่างกันมาก m2e เพิ่มโหนดเสมือนให้กับโครงการของคุณชื่อ "Maven Dependencies" และขอให้ Maven เพิ่มการพึ่งพาทั้งหมดที่นั่น

mvn eclipse:eclipseบนมืออื่น ๆ .classpathที่จะสร้างจำนวนมากของรายการแต่ละรายการในแฟ้ม Eclipse จะจัดการพวกเขาราวกับว่าคุณเพิ่ม JARs เข้ากับโครงการของคุณด้วยตนเอง

หากคุณไม่ทราบว่า classpath ใน Eclipse ทำงานอย่างไรไม่แนะนำวิธีนี้


สิ่งนี้ใช้ได้สำหรับฉันเช่นกัน! mvn eclipse:eclipseเพิ่มการพึ่งพาโปรเจ็กต์เข้ากับพา ธ การสร้าง Java ดังนั้นจึงใช้ได้ นอกจากนี้ปลั๊กอิน m2eclipse จะเพิ่มการพึ่งพาโครงการเฉพาะใน "Maven Dependencies" ซึ่งในแท็บไลบรารีและดีบักเกอร์ไม่สามารถค้นหาได้
ไร้เดียงสา

ฉันไม่รู้ว่าเกิดอะไรขึ้น แต่หลังจากดำเนินการนี้ฉันไม่เห็นการพึ่งพา Maven ภายใต้ "Maven Dependencies" อีกต่อไป
displayname

6

ลบการกำหนดค่า Debug ที่มีอยู่และสร้างขึ้นมาใหม่ ที่ควรแก้ไขปัญหา


ฉันติดตามสิ่งนี้และใช้งานได้ อาจเป็นเพราะฉันยังเพิ่มโฟลเดอร์โปรเจ็กต์ java ที่ต้องการบนแท็บ 'ซอร์ส' การกำหนดค่า run / debug ใหม่ อาจแค่เพิ่มโฟลเดอร์ซอร์ส / โปรเจ็กต์ที่หายไปในแท็บ 'แหล่งที่มา' ของการกำหนดค่าการทำงาน / การดีบักที่มีอยู่แล้วสามารถทำงานได้โดยไม่ต้องลบออกก่อน
xilef

6

ฉันกำลังเผชิญปัญหาเดียวกันฉันทำตามขั้นตอนการร้อง

Window=> Preferences=> Java=> Installed JREs,

ป้อนคำอธิบายรูปภาพที่นี่

คุณเห็นในหน้าจอด้านบนJre1.8.0_12ถูกเลือก

เลือก JRE Editที่คุณกำลังใช้และคลิก ตอนนี้คุณควรเห็นหน้าจอร้อง

ป้อนคำอธิบายรูปภาพที่นี่

คลิกที่ไดเรกทอรีเรียกดู Jdk มันควรมีหน้าจอตะโกน ป้อนคำอธิบายรูปภาพที่นี่

คลิกตกลงและเสร็จสิ้น


ใช้วิธีนี้หาก Eclipse ไม่สามารถโหลดคลาสจาก Java runtime (คลาสใด ๆ ที่ชื่อเต็มประเภทเริ่มต้นด้วย java. like java.lang.String)
Aaron Digulla

4

ฉันมีปัญหาที่ Eclipse ของฉันไม่ได้ทำการดีบักซอร์สโค้ดของโครงการ ฉันได้รับหน้าว่างด้วย "พบซอร์สโค้ด"

กรุณาคลิกที่ปุ่มแนบซอร์สโค้ด จากนั้นลบโฟลเดอร์ "เริ่มต้น" จากนั้นคลิกเพิ่มและไปที่ตำแหน่งโครงการของคุณและแนบ สิ่งนี้ใช้ได้สำหรับฉัน


3

ในกรณีของฉันแม้หลังจากแก้ไขการค้นหาซอร์สและการเพิ่มโครงการ แต่ก็ไม่ได้ผล ฉันกำหนดค่าเส้นทางการสร้างของโครงการ

ป้อนคำอธิบายรูปภาพที่นี่

หลังจากนั้นฉันเลือก JRE System Library และใช้งานได้

ป้อนคำอธิบายรูปภาพที่นี่


2

เห็นได้ชัดว่า Eclipse ไม่ทราบโดยอัตโนมัติว่าซอร์สโค้ดสำหรับไหนั้นเป็นอย่างไร ยังไม่ชัดเจนว่าทำไม debugger ไม่สามารถตรวจสอบตัวแปรได้เมื่อแนบซอร์สแล้ว ความเป็นไปได้หนึ่งอย่างนั้นไม่ถูกต้อง / แหล่งที่เข้ากันไม่ได้

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


1

คุณอาจมีซอร์สโค้ดของ Eclipse ที่สามารถเข้าถึงได้ แต่ Eclipse ไม่ทราบรหัสแหล่งที่มาสำหรับรหัสที่โหลดแบบไดนามิก เช่นผ่าน Maven

ในกรณีของ Maven ฉันขอแนะนำให้คุณใช้ปลั๊กอิน run-jetty-run:

http://code.google.com/p/run-jetty-run/

คุณสามารถเชื่อมต่อ JVM ที่ทำงานอยู่กับดีบักเกอร์และคุณจะเห็นรหัส หรือคุณสามารถใช้ปลั๊กอินการค้นหาแหล่งที่มาแบบไดนามิกสำหรับ Eclipse ได้จากที่นี่:

https://github.com/ifedorenko/com.ifedorenko.m2e.sourcelookup

น่าเสียดายที่มันไม่ได้ช่วยฉันเพราะมันมีปัญหากับเส้นทาง Windows ที่มีช่องว่าง

ฉันได้กรอกคำขอการปรับปรุงบน Eclipse Bugzilla และถ้าคุณเห็นด้วยกับปัญหานี้ "ไม่พบแหล่งที่มา" ควรหายไปตลอดกาลโปรดลงคะแนนให้ที่นี่:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=384065

ขอบคุณ!

Sasa


ตอนนี้คุณมีการสนับสนุนของฉันในข้อผิดพลาดนี้!
อับดุล

1

ในกรณีของฉันใน "Attach Source" ฉันเพิ่มไดเรกทอรีโครงการ maven อื่น ๆ ในแผง "การกำหนดค่าสิ่งที่แนบมา" การเพิ่ม jar เวอร์ชันล่าสุดจากที่เก็บ m2 ไม่ทำงาน คลาสทั้งหมดจากโครงการ maven อื่น ๆ ไม่สามารถเปิดได้

ป้อนคำอธิบายรูปภาพที่นี่

นี่คือการทดสอบโครงการ maven อื่น ๆ ของฉันที่มีแหล่งจาวาทั้งหมด



0

ฉันมีปัญหาเดียวกันมาก ในกรณีของฉันฉันได้ปิดการใช้งาน Window-Preferences-Java-Debug [ระงับการดำเนินการตามข้อยกเว้นที่ไม่ได้ตรวจสอบ] จากนั้นคอนโซลแสดงให้ฉันเห็นข้อผิดพลาดที่ถูกต้อง: ผู้ใช้ MySql ของฉันไม่มีสิทธิ์เข้าถึงฐานข้อมูล ตามหัวข้อนี้


0

ข้อมูล: นี่เป็นทางออกที่เป็นไปได้เมื่อคุณใช้ maven (pom.xml) กับโปรเจ็กต์สองสามรายการ

หากคุณกำลังทำงานกับ Maven ให้ตรวจสอบว่าคุณใช้เวอร์ชันใดภายใน pom.xml ตามนั้น (เช่น 1.0.1-SNAPSHOT) อาจเป็นไปได้ว่ารหัสของคุณเป็นรุ่นล่าสุด แต่การอ้างอิง pom.xml ของคุณยังคงใช้ JAR's / Snapshots เก่า (ด้วยรหัสเก่า)

การค้นหาปัญหา:

  • พยายามที่จะแก้ปัญหาไฟล์ตาม
  • ดังนั้นตั้งค่าเบรกพอยต์ในพื้นที่รหัสที่เกี่ยวข้อง
  • เมื่อ"ไม่พบซอร์ส"ปรากฏขึ้นตรวจสอบให้แน่ใจว่าได้ผูกในโปรเจ็กต์ที่ถูกต้อง (โดยที่สามารถพบไฟล์. java)
  • ไฟล์. class รวบรวมจะเปิดขึ้นในตัวแก้ไข IDE
  • คลิก "เชื่อมโยงกับเครื่องมือแก้ไข" เพื่อค้นหา JAR / Snapshot
  • ตอนนี้ตรวจสอบให้แน่ใจว่าขวดนี้เป็นรุ่นล่าสุด อาจเป็นไปได้ว่ามีใหม่กว่า ในกรณีนั้นให้เขียนหมายเลขเวอร์ชันล่าสุดใน pom.xml
  • จากนั้นทำการอัพเดต maven และ build (เช่น "mvn clean install -U") ในไดเร็กทอรีโปรเจ็กต์ที่ถูกต้อง

0

หากคุณอยู่ใน eclipse หรือ STS โปรดติดตั้งและใช้ GC (ปลั๊กอิน GrepCode) บางครั้งคุณไม่จำเป็นต้องแนบไฟล์. zip ในซอร์สโครงการของคุณเพื่อให้ GrepCode ทำงานได้ดีสำหรับคุณ


0

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

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

ไดเร็กทอรีคลาสอยู่ใน: / workspace / glassfish3122eclipsedefaultdomain / eclipseApps / <เว็บแอ็พพลิเคชันของคุณ> / WEB-INF / คลาส


0

ในกรณีของฉันกับโครงการ Tomcat ฉันได้ตรวจสอบโครงการที่นี่: หน้าต่าง - การตั้งค่า - Tomcat - เส้นทางที่มา - เพิ่มโครงการ Java เพื่อเส้นทางแหล่งที่มา


0

ในกรณีของฉันเวอร์ชัน Maven ของโครงการอ้างอิงอื่นไม่ตรงกับรุ่นของโครงการทดสอบ เมื่อพวกเขาเหมือนกันปัญหาก็หายไป


0

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



0

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


0

สิ่งนี้ใช้ได้สำหรับฉัน

คลิกขวาที่โครงการ -> คุณสมบัติ -> ชุดการปรับใช้ -> เพิ่มโถของคุณ


0

ไปที่การกำหนดค่า Debug ใน eclipse และใช้เป้าหมายด้านล่างเพื่อเรียกใช้แอปพลิเคชันของคุณ

-Dmaven.surefire.debug

เช่น

-Dmaven.surefire.debug exec: java


0

นี่คือสิ่งที่ใช้ได้ผลสำหรับฉัน ฉันลองทุกวิธีที่เป็นไปได้ใน StackOverflow ว่ามี ฉันลองเปลี่ยนตำแหน่งต้นทางในเมนูแก้ไขข้อผิดพลาดฉันติดตั้งปลั๊กอิน m2e Eclipse ฉันเปลี่ยนจาก Maven แบบฝังและติดตั้ง run-jetty-run และไม่มีอะไรทำงาน ตอนนี้ฉันจะเตือนว่าฉันไม่ได้พยายามดูซอร์สโค้ดของบุคคลภายนอกฉันแค่อยากเห็นรหัส OWN ของฉัน แต่ทุกครั้งที่ฉัน "ก้าวเข้าสู่" วิธีการของฉันที่ฉันเขียนที่อยู่ในโครงการของฉันฉันได้รับ ข้อผิดพลาด "พบแหล่งที่มา"

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


0

สำหรับผู้เริ่มต้น

มีความเป็นไปได้ที่ไฟล์ jar เป็นส่วนหนึ่งของโปรเจ็กต์ที่คุณยังไม่ได้รวมในเวิร์กสเปซ Eclipse

เพื่อที่คุณจะต้องรู้ชื่อโครงการของไฟล์ jar พูดเช่นของabc -18.0.0-SNAPSHOT.jar ก็หมายความว่าโครงการที่คุณควรจะรวมอยู่ในพื้นที่ทำงานของคุณเป็นabc


0

ฉันมีปัญหาเดียวกันกับ eclipse 2019-03 (4.11.0) และฉันสามารถแก้ปัญหานี้ได้โดยการดีบักผ่านการดีบักแบบรีโมทแทนที่จะเปิดตัวมันโดยตรงในโหมดดีบัก


0

แนบซอร์ส -> เพิ่ม -> External Archive -> เลือก jar -> open -> done

จับคือมองหาขวดแหล่งที่มาและแนบขวดนี้

ตัวอย่างเช่น jar สิ้นสุดด้วย "-sources" Stax2-api-3.4.1-sources


-1

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

  1. ลองเพิ่มบรรทัดเหล่านี้ใน pom.xml
<build>**<sourceDirectory>src/main/java</sourceDirectory>**...

ลอง maven-> update แล้วทำการดีบั๊ก

  1. ไปที่ไดเรกทอรีรากของโครงการ

mvn eclipse: eclipse

ตอนนี้ลองแก้ไขข้อบกพร่อง


-1

ใน eclipse photon พยายามปิด "Window-> Preferences-> Java-> Debug-> ใช้การค้นหาซอร์สขั้นสูง"

แก้ไข: มีข้อบกพร่องที่เกี่ยวข้องใน eclipse รุ่นนี้ซึ่งนำไปสู่ข้อความ "ไม่พบแหล่งที่มา" ในขณะที่การดีบักแอปพลิเคชัน Java ดูรายงานบั๊ก bug.eclipse.org/bugs/show_bug.cgi?id=537699 สำหรับรายละเอียดเพิ่มเติม


ตกลงมีข้อบกพร่องที่เกี่ยวข้องใน eclipse รุ่นนี้ซึ่งนำไปสู่ข้อความ "ไม่พบแหล่งที่มา" ในขณะที่การดีบักแอปพลิเคชัน Java ดูรายงานบั๊กbug.eclipse.org/bugs/show_bug.cgi?id=537699สำหรับรายละเอียดเพิ่มเติม
6pi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.