ग्रहण जावा डिबगिंग: स्रोत नहीं मिला


179

ग्रहण में एक जावा ऐप को डिबेट करते समय मुझे दो मामलों में " स्रोत नहीं मिला " त्रुटि प्राप्त होती है:

  • एक अलग परियोजना में एक फ़ाइल में कदम रखना जो पहले से ही आयातित है
  • एक स्थापित मावेन भंडार में एक फ़ाइल में कदम रखना

फाइलें हैं, लेकिन उनमें से ग्रहण नहीं चलेगा, इसके बजाय यह " अटैच सोर्स " के लिए एक बटन दिखाता है

मैंने अटैच करने की कोशिश की (जो कि एक वैरिएबल को परिभाषित करने के लिए एक डायलॉग खोला?) और ग्रहण ने फाइल में जंप किया, लेकिन डीबगर वहां किसी भी वैरिएबल का निरीक्षण नहीं कर सका। प्रत्येक निर्भरता के लिए स्रोत को मैन्युअल रूप से संलग्न करना व्यावहारिक नहीं है, क्योंकि मेरे मामले में हजारों निर्भरता फाइलें हैं।

मैं ग्रहण करने के लिए नया हूँ इसलिए यह क्यों हो रहा है इसका एक स्पष्टीकरण + यह कैसे हल करने में बहुत मदद करेगा!

जवाबों:


53

ग्रहण डिबगिंग वास्तव में कार्यक्रम द्वारा लोड किए गए वर्ग के साथ काम करता है ।

लक्षण आप का वर्णन प्रश्न में वर्ग की तरह लगता है इस परियोजना में नहीं मिला था, लेकिन डिबग जानकारी के बिना एक वितरण जार में पाया से पहले परियोजना आप के साथ काम कर रहे हैं।

यह कई कारणों से हो सकता है, लेकिन उस स्थान पर एक नज़र डालें जहां इस व्यवहार को दिखाने वाली कक्षाएं पाई जाती हैं (इसे पहचानने के लिए नेविगेशन फलक में देखें)। आपको इस जार का उपयोग करने से बचने के लिए परियोजना के बिल्ड पथ को बदलने की आवश्यकता होगी और इसके स्थान पर JVM का उपयोग करें।

EDIT: ध्यान दें कि 2018 के अनुसार मावेन की तरह एक बिल्ड फ्रेमवर्क का उपयोग करना आम है, जहां बिल्ड पथ को एम 2 प्लगइन द्वारा प्रबंधित किया जाता है, इसलिए जब यह प्रश्न पूछा जाता है तो यह समस्या बहुत कम होनी चाहिए। यदि आप मावेन और एम 2 का उपयोग करते हैं, तो प्राथमिकताएं / मावेन / "डाउनलोड आर्टिफिकेशन सोर्सेस" को सक्षम करना सुनिश्चित करें या प्रोजेक्ट को राइट-क्लिक करें, मावेन / "डाउनलोड सोर्स"।


हाय सभी के लिए धन्यवाद, लेकिन मुझे यह उत्तर अधिक उपयोगी मिला (स्टैक ओवर फ्लो लिंक) [ stackoverflow.com/questions/5815013/…
shareef

11
@shareef वह लिंक लापता जावाडॉक के बारे में है, लापता स्रोत के बारे में नहीं।
थोरबजोरन रावन एंडरसन

@ACV खैर, हाँ। शायद यह उतना विस्तृत नहीं है जितना आप चाहते हैं - क्या आप मुझे बता सकते हैं कि आप क्या बेहतर समझाना चाहेंगे?
थोरबजोरन रावन एंडरसन

जवाब कहने का एक और तरीका है: समस्या "स्रोत नहीं मिली" है, और मेरा सुझाव है "स्रोत खोजने की कोशिश करें"
जुन्चेन लियू

1
@ डिन एक नए प्रश्न को और अधिक विस्तार के साथ खोलने पर विचार करें।
थोरबजोरन राव एंडरसन

301

ग्रहण आईडीई को विन्यास करने के लिए सिर्फ 3 चरण:

नोट: स्रोत लुकअप पथ को अपडेट करने के बाद, आपको अपना डिबग सत्र रोकना और पुनः आरंभ करना होगा। अन्यथा, लापता स्रोत वाली फ़ाइल "लापता स्रोत" दिखाना जारी रखेगी।

स्रोत लुकअप संपादित करें स्रोत लुकअप संपादित करें ... कमांड [स्रोत लुकअप संपादित करें] स्रोत पथ संवाद खोलने के लिए, जो आपको चयनित डीबग लक्ष्य के स्रोत लुकअप पथ में परिवर्तन करने की अनुमति देता है।

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

महत्वपूर्ण पुनः आरंभ ग्रहण इस अंतिम चरण के बाद।


7
स्रोत लुकअप का संपादन वास्तव में मेरे लिए काम किया। धन्यवाद डगलस
फ्रारी

3
एक जादू की तरह काम करता है। धन्यवाद!
कार्लोस स्पोहर

11
और क्या होगा अगर वह भी काम नहीं करता है ... इसका कारण मेरे लिए काम नहीं करना है
सरस आर्य

11
जरूरी!! अच्छी तरह से काम किया, लेकिन केवल बाद में मैंने चल रहे आवेदन को रोक दिया और इसे फिर से शुरू किया। जब तक मैंने ऐसा नहीं किया, ऐसा लग रहा था कि यह अभी भी स्रोतों को प्राप्त नहीं कर सकता है।
पहुंचें

1
मैं इसके लिए महीनों से काम कर रहा हूं। यह पूरी तरह से काम किया।
एकरेला

45

लक्षण पूरी तरह से मामले का वर्णन करता है जब पाया गया वर्ग में संबद्ध (या असाइन किया गया) स्रोत नहीं है।

  • आप JDK वर्गों के लिए स्रोतों को वरीयताएँ> जावा> स्थापित JRE में जोड़ सकते हैं । यदि JRE (JDK नहीं) का उपयोग डिफ़ॉल्ट JRE के रूप में किया जाता है, तो आपके JDK वर्गों में संलग्न स्रोत नहीं होंगे। ध्यान दें कि, सभी JDK वर्गों ने स्रोत प्रदान नहीं किए हैं, उनमें से कुछ केवल बाइनरी रूप में वितरित किए गए हैं।
  • प्रोजेक्ट के निर्माण पथ से कक्षाएं, मैन्युअल रूप से जोड़े जाने के लिए आवश्यक है कि आप मैन्युअल रूप से संबंधित स्रोत को संलग्न करें। स्रोत एक ज़िप या जार फ़ाइल में, कार्यक्षेत्र में या फ़ाइल सिस्टम में रह सकता है। ग्रहण ज़िप को स्कैन करेगा, इसलिए आपके स्रोतों को उदाहरण के लिए, संग्रह फ़ाइल की जड़ में नहीं होना चाहिए।
  • कक्षाएं, अन्य प्लगइन्स (मावेन, पीडीई, आदि) से आने वाली निर्भरता से। इस मामले में, यह प्लगइन पर निर्भर है कि स्रोत कैसे प्रदान किया जाएगा।
    • पीडीई को आवश्यकता होगी कि प्रत्येक प्लगइन में संबंधित XXX.source बंडल हो, जिसमें प्लगइन का स्रोत हो। अधिक जानकारी यहाँ और यहाँ मिल सकती है
    • यदि वे उपलब्ध हैं तो m2eclipse मावेन निर्भरता के लिए स्रोत और javadocs प्राप्त कर सकते हैं। इस सुविधा को m2eclipse वरीयताओं को सक्षम किया जाना चाहिए (विकल्प को " डाउनलोड स्रोत और javadocs " जैसे कुछ नाम दिया गया था ।
    • अन्य प्लगइन्स के लिए, आपको उनके प्रलेखन से परामर्श करना होगा
  • कक्षाएं, जो आपके प्रोजेक्ट से भरी हुई हैं, प्रोजेक्ट से स्रोतों के साथ स्वचालित रूप से मेल खाती हैं।

लेकिन क्या होगा यदि ग्रहण अभी भी सुझाव देता है कि आप स्रोत संलग्न करते हैं, भले ही मैंने अपनी कक्षाएं और उनके स्रोत सही ढंग से निर्धारित किए हों:

यह लगभग हमेशा इसका मतलब है कि ग्रहण आपकी अपेक्षा से अलग स्थान से वर्ग को खोज रहा है। यह देखने के लिए अपने स्रोत लुकअप पथ का निरीक्षण करें कि यह गलत वर्ग कहाँ हो सकता है। अपने निष्कर्षों के अनुसार पथ को अपडेट करें।

ब्रेकपॉइंट हिट होने पर ग्रहण को कुछ भी नहीं मिलता है:

ऐसा तब होता है, जब आप स्रोत लुकअप पथ में वर्ग नहीं होते हैं, जो वर्तमान में रनटाइम में लोड होता है। यहां तक ​​कि अगर वर्ग कार्यक्षेत्र में है, तो यह लॉन्च कॉन्फ़िगरेशन के लिए अदृश्य हो सकता है, क्योंकि ग्रहण स्रोत लुकअप पथ का सख्ती से पालन करता है और केवल प्रोजेक्ट की निर्भरता को संलग्न करता है, जो वर्तमान में डीबग किया गया है।

एक अपवाद पीडीई में डिबगिंग बंडल है । इस स्थिति में, क्योंकि रनटाइम कई परियोजनाओं से बना है, जिसमें एक दूसरे पर निर्भरता की घोषणा नहीं करनी है, एक्लिप्स स्वचालित रूप से कार्यक्षेत्र में वर्ग को ढूंढ लेगा, भले ही वह स्रोत लुकअप पथ में उपलब्ध न हो।

जब मैं एक ब्रेकपॉइंट मारता हूं तो मैं चर नहीं देख सकता हूं या यह सिर्फ स्रोत को खोलता है, लेकिन ब्रेकपॉइंट लाइन का चयन नहीं करता है:

इसका मतलब है कि रनटाइम में, जेवीएम या स्वयं कक्षाओं में आवश्यक डिबग जानकारी नहीं है। हर बार कक्षाएं संकलित की जाती हैं, डिबग जानकारी संलग्न की जा सकती है। कक्षाओं के भंडारण स्थान को कम करने के लिए, कभी-कभी इस जानकारी को छोड़ दिया जाता है, जो इस तरह के कोड को डिबगिंग बनाता है। आपका एकमात्र मौका डिबग सक्षम के साथ प्रयास करना और पुन: प्रयास करना है।

ग्रहण स्रोत दर्शक उन रेखाओं से अलग दिखाता है जो वास्तव में निष्पादित होती हैं:

यह कभी-कभी दिखा सकता है कि खाली जगह को भी निष्पादित किया गया है। इसका मतलब है कि आपके स्रोत कक्षाओं के आपके रनटाइम संस्करण से मेल नहीं खाते हैं। यहां तक ​​कि अगर आपको लगता है कि यह संभव नहीं है, तो यह है, इसलिए सुनिश्चित करें कि आपने सही स्रोतों को सेटअप किया है। या आपका रनटाइम आपके नवीनतम परिवर्तनों से मेल खाता है, इस पर निर्भर करता है कि आप क्या करने की कोशिश कर रहे हैं।


बहुत बढ़िया जवाब! इस उत्तर से गायब एक tidbit OSGi बंडलों के लिए विशिष्ट है: ग्रहण का स्रोत मिल सकता है यदि एक बंडल में OSGI-OPT / src होता है और बंडल एक Eclipse प्रोजेक्ट के निर्माण पथ पर होता है। विवरण के लिए यह अन्य
स्टैकओवरफ़्लो

शायद आप इस पर एक नज़र डाल सकते हैं - मैं पहले से ही कोशिश करने के लिए चीजों से बाहर हूँ ..
डिस्प्लेनेम

जानकार अच्छा लगा। सिद्धांत का बहुत, लेकिन कोई व्यावहारिक समाधान नहीं।
मास्टरजेओ 2

11

से http://www.coderanch.com/t/587493/vc/Debugging-Eclipse-Source

"जब डिबग मोड में चल रहा होता है, तो रनिंग थ्रेड (थ्रेड्स टैब में) पर राइट क्लिक करें और एडिट सोर्स लुकअप चुनें। इस बिंदु पर, आपको आवश्यक प्रोजेक्ट / जार जोड़ने में सक्षम होना चाहिए जिसमें आपका स्रोत कोड शामिल है।"

मैंने अपनी वर्तमान परियोजना को इस तरह से जोड़ा, और इसने मेरी समस्या को हल कर दिया


मुझे यह डिबग दृश्य में करना था, "रिमोट जावा एप्लिकेशन" या "जावा हॉटस्पॉट वीएम" के तहत।
अब्दुल

9

मुझे अपने ग्रहण मावेन प्रोजेक्ट के साथ भी ऐसी ही समस्या थी। मैंने इस मुद्दे पर काफी लंबे समय तक संघर्ष किया और फिर मैंने इस परियोजना के पुनर्निर्माण की कोशिश की

mvn clean eclipse:eclipse

और इससे मदद मिली।

नोट: दो दृष्टिकोण बहुत भिन्न हैं क्योंकि इस दृष्टिकोण का उपयोग करना m2e प्लगइन को भ्रमित करेगा। एम 2 अपनी परियोजना में "मावेन डिपेंडेंसीज़" नामक एक आभासी नोड जोड़ता है और मावेन को वहां सभी निर्भरताएं जोड़ने के लिए कहता है।

mvn eclipse:eclipseदूसरी ओर, फ़ाइल में बहुत सारी व्यक्तिगत प्रविष्टियाँ बनाएगा .classpath। ग्रहण उन्हें ऐसे संभालेगा जैसे कि आपने मैन्युअल रूप से JAR को अपनी परियोजना में जोड़ा है।

जब तक आप नहीं जानते कि ग्रहण में क्लासपाथ कैसे काम करता है, इस दृष्टिकोण की सिफारिश नहीं की जाती है।


केवल यही मेरे लिए भी काम करता है! mvn eclipse:eclipseजावा बिल्ड पथ के लिए प्रोजेक्ट निर्भरता जोड़ें, इसलिए यह काम करता है। इसके अलावा, m2eclipse प्लगइन केवल "मावेन डिपेंडेंसी" में प्रोजेक्ट निर्भरता को जोड़ देगा, जो कि लाइब्रेरी टैब में है, और डीबगर नहीं मिल सकता है।
भोला

मुझे नहीं पता कि क्या हुआ लेकिन इसे अंजाम देने के बाद मुझे "मावेन डिपेंडेंसीज़" के तहत अपनी मावेन निर्भरता नहीं दिखती।
18

6

मौजूदा डीबग कॉन्फ़िगरेशन निकालें और एक नया बनाएं। जिससे समस्या का समाधान होना चाहिए।


मैंने इसका अनुसरण किया और यह काम किया। संभवतः क्योंकि मैंने नए रन / डिबग कॉन्फ़िगरेशन के 'स्रोत' टैब पर वांछित जावा प्रोजेक्ट फ़ोल्डर भी जोड़ा है। हो सकता है कि मौजूदा रन / डिबग कॉन्फिग के 'सोर्स' टैब में केवल गायब सोर्स फोल्डर / प्रोजेक्ट को जोड़ने से पहले इसे डिलीट किए बिना काम किया जा सके।
xilef

6

मैं एक ही मुद्दे का सामना कर रहा था, मैंने bellow चरणों का पालन किया।

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

यहां छवि विवरण दर्ज करें

आप ऊपर स्क्रीन Jre1.8.0_12में चुना गया है देखते हैं ।

आपके द्वारा उपयोग किए जा रहे JRE को चुनें और क्लिक करें Edit। अब आपको बोले स्क्रीन को देखना चाहिए।

यहां छवि विवरण दर्ज करें

निर्देशिका पर क्लिक करें, Jdk के लिए ब्राउज़ करें, यह बलो स्क्रीन की तरह दिखना चाहिए। यहां छवि विवरण दर्ज करें

ठीक क्लिक करें, और इसके किया


इस दृष्टिकोण का उपयोग करें यदि ग्रहण जावा रनटाइम से कक्षाएं लोड नहीं कर सकता है (कोई भी वर्ग जहां पूर्ण प्रकार का नाम इसके साथ शुरू होता java.है java.lang.String)
एरोन डिगुल्ला

4

मुझे यह समस्या थी कि मेरा ग्रहण मेरे प्रोजेक्ट के स्रोत कोड को डिबग नहीं कर रहा था। मुझे "स्रोत कोड नोड मिला" के साथ एक रिक्त पृष्ठ मिल रहा था।

कृपया अटैच सोर्स कोड बटन पर क्लिक करें। फिर "डिफ़ॉल्ट" फ़ोल्डर को हटाएं फिर जोड़ें पर क्लिक करें और अपने प्रोजेक्ट स्थान पर जाएं और संलग्न करें। इसने मेरे लिए काम किया


3

मेरे मामले में, स्रोत देखने और प्रोजेक्ट जोड़ने के बाद भी, यह काम नहीं किया। मैंने प्रोजेक्ट का बिल्ड पथ कॉन्फ़िगर किया है।

यहां छवि विवरण दर्ज करें

उसके बाद, मैंने JRE सिस्टम लाइब्रेरी का चयन किया और इसने काम किया।

यहां छवि विवरण दर्ज करें


2

जाहिर है, ग्रहण स्वचालित रूप से नहीं जानता कि आश्रित जार के लिए स्रोत कोड कहां हैं। यह स्पष्ट नहीं है कि स्रोत संलग्न होने के बाद डिबगर चर का निरीक्षण क्यों नहीं कर सका। एक संभावना गलत / असंगत स्रोत है।

मान लें कि आपके पास एक मावेन परियोजना है और निर्भरता के स्रोत स्थानीय रिपॉजिटरी में डाउनलोड और उपलब्ध हैं, तो आप चाहते हैं कि आप एमपेकलिप्स , मावेन एक्लिप्स प्लगइन स्थापित करें और देखें कि क्या आपके मुद्दे को संबोधित करने में मदद करता है।


1

आपके पास ग्रहण के लिए सुलभता पर निर्भरता का स्रोत कोड हो सकता है। लेकिन ग्रहण कोड के लिए स्रोत कोड के लिए नहीं जानता है जो गतिशील रूप से भरी हुई है। जैसे मावेन के माध्यम से।

मावेन के मामले में, मेरा सुझाव है कि आप रन-जेट्टी-रन प्लगइन का उपयोग करें:

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

वर्कअराउंड के रूप में आप डिबगर के साथ एक रनिंग जेवीएम से भी जुड़ सकते हैं और आपको कोड दिखाई देगा। वैकल्पिक रूप से आप यहां से ग्रहण के लिए डायनामिक सोर्स लुकअप प्लगइन का उपयोग कर सकते हैं:

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

दुर्भाग्य से इसने मेरी मदद नहीं की क्योंकि इसमें रिक्त स्थानों के साथ विंडोज पथ के मुद्दे हैं।

मैंने एक्लिप्स बुग्जिला पर एन्हांसमेंट रिक्वेस्ट भर दी है और यदि आप इस मुद्दे से सहमत हैं कि "स्रोत नहीं मिला" हमेशा के लिए गायब हो जाना चाहिए, तो कृपया यहाँ वोट करें:

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

धन्यवाद!

ससा


अब आपको इस बग पर मेरा समर्थन है!
अब्दुल

1

"अटैच सोर्स" में मेरे मामले में, मैंने "सोर्स अटैचमेंट कॉन्फ़िगरेशन" पैनल में अन्य मावेन प्रोजेक्ट डायरेक्टरी को जोड़ा। एम 2 रिपॉजिटरी से नवीनतम संस्करण जार जोड़ना काम नहीं करेगा। अन्य मावेन परियोजना से सभी कक्षाएं खोलने में विफल रहीं।

यहां छवि विवरण दर्ज करें

यहाँ परीक्षण मेरी अन्य मावेन परियोजना थी जिसमें सभी जावा स्रोत थे।



0

मुझे वही समस्या थी। मेरे मामले में, मैंने विंडो-वरीयताएँ-जावा-डीबग को अक्षम कर दिया है [बिना अपवाद के निष्पादन को निलंबित करें]। फिर, कंसोल ने मुझे सही त्रुटि दिखाई: मेरे MySql उपयोगकर्ता ने डेटाबेस तक पहुंचने के लिए विशेषाधिकार प्राप्त नहीं किए थे। इस विषय के अनुसार।


0

जानकारी: यह एक संभावित समाधान है, जब आप कुछ परियोजनाओं के साथ मावेन (pom.xml) का उपयोग करते हैं।

यदि आप मावेन के साथ काम कर रहे हैं, तो सुनिश्चित करें कि आप pom.xml के अनुसार कौन सा संस्करण ले रहे हैं (जैसे 1.0.1-स्नैपशॉट)। यह संभव है कि आपका कोड अप-टू-डेट हो, लेकिन आपके pom.xml निर्भरता अभी भी पुराने JAR / स्नैपशॉट्स (पुराने कोड के साथ) ले रहे हैं।

समस्या का पता लगाना:

  • तदनुसार फ़ाइल को डीबग करने का प्रयास करें।
  • इसलिए, संबंधित कोड क्षेत्र में एक ब्रेकपॉइंट सेट करें।
  • जब "स्रोत नहीं मिला" प्रकट होता है, तो सही प्रोजेक्ट में बांधना सुनिश्चित करें (जहां .java फ़ाइल मिल सकती है)।
  • संकलित .class फ़ाइल IDE संपादक में खुलती है।
  • JAR / Snapshot के अनुसार "लिंक विद एडिटर" पर क्लिक करें।
  • अब सुनिश्चित करें कि यह JAR सबसे हाल का है। संभवतः एक नया है। उस स्थिति में, pom.xml में सबसे हाल का संस्करण नंबर लिखें।
  • फिर एक मावेन अपडेट करें और सही प्रोजेक्ट डायरेक्टरी में (जैसे "mvan clean install -U") बनाएं।

0

यदि आप ग्रहण या एसटीएस पर हैं, तो कृपया GC (GrepCode Plugin) को स्थापित करें और उपयोग करें, कुछ समय के लिए आपको अपने प्रोजेक्ट पथ में स्रोत .zip फ़ाइल को संलग्न करने की आवश्यकता नहीं होती है इसलिए GrepCode आपके लिए ठीक काम करता है।


0

मैंने ग्रहण में ग्लासफिश सर्वर डिबगिंग के संबंध में एक संबंधित मुद्दा लिया है। यह स्रोत कोड को एक अलग भंडार (SVN से GitHub में बदलते) से लोड करके लाया गया था। इस प्रक्रिया में, ग्लासफ़िश सर्वर द्वारा गलत संकलित कक्षाओं का उपयोग किया गया था और इसलिए, खाली लाइनों पर दिखाई देने वाले ब्रेक पॉइंट के साथ स्रोत और रन टाइम सिंक से बाहर होगा।

इसे हल करने के लिए, वर्गों निर्देशिका के शीर्ष फ़ोल्डर का नाम बदलें या हटाएं और ग्लासफिश पूरी तरह से संकलित संस्करण के साथ वर्ग फ़ाइलों को अपडेट करने सहित पूरी कक्षा निर्देशिका पेड़ को फिर से बनाएगा।

कक्षाएं निर्देशिका में स्थित है: / कार्यक्षेत्र / Glassfish3122eclipsedefaultdomain / eclipseApps / <अपने वेब एप्लिकेशन> / वेब-इन्फो / कक्षाएं


0

टॉमकैट परियोजनाओं के साथ मेरे मामले में मैंने यहां परियोजना की जांच की है: विंडो - प्राथमिकताएं - टॉमकैट - स्रोत पथ - रास्ते में जावा परियोजनाएं जोड़ें


0

मेरे मामले में अन्य संदर्भित परियोजना के मावेन संस्करण परीक्षण परियोजना के संस्करण से मेल नहीं खाते। एक बार जब वे समान थे, तो समस्या गायब हो गई।


0

डिबग मोड में चलने पर, थ्रेड से निलंबित होने के बाद स्रोत लुकअप संपादित करें पर क्लिक करें। इस बिंदु पर, हमें आवश्यक प्रोजेक्ट / जार जोड़ने में सक्षम होना चाहिए जिसमें आपका स्रोत कोड शामिल है। के बाद मैंने इस तरह से अपनी वर्तमान परियोजना को जोड़ा, और इसने मेरी समस्या को हल कर दिया। धन्यवाद



0

मुझे एक्वा फाइल पर प्रक्रिया करने के लिए java कोड पर काम करते समय यह समस्या थी, जिसमें डेटा सेट होता है, फिर इसे .csv फ़ाइल में परिवर्तित करें, मैंने इस पोस्ट पर उत्तर देने की कोशिश की, लेकिन उन्होंने काम नहीं किया। समस्या जार फाइलें खुद थी। ज़रूरी फाइलों को एक के बाद एक (पुरानी रिलीज़) डाउनलोड करने के बाद और उन्हें मेरे प्रोजेक्ट में जोड़ें, "स्रोत नहीं मिला" त्रुटि गायब हो गई। हो सकता है कि आप अपनी जार फ़ाइलों की जाँच कर सकते हैं। आशा है कि यह मदद करेगा।


0

यह मेरे लिए काम किया

प्रोजेक्ट पर राइट क्लिक करें -> गुण -> परिनियोजन असेंबली -> अपना जार जोड़ें


0

ग्रहण में डिबग कॉन्फ़िगरेशन पर जाएं और अपने एप्लिकेशन को चलाने के लिए नीचे दिए गए लक्ष्य का उपयोग करें।

-Dmaven.surefire.debug

जैसे

-Davaven.surefire.debug निष्पादित: जावा


0

खैर, यहाँ मेरे लिए क्या काम किया है। मैं StackOverflow पर हर संभव समाधान की कोशिश की थी कि वहाँ था। मैंने डिबग मेनू में अपना स्रोत स्थान बदलने की कोशिश की, मैंने m2e एक्लिप्स प्लगइन स्थापित किया, मैं एम्बेडेड मावेन से बदला, और मैंने रन-जेट्टी-रन स्थापित किया और कुछ भी काम नहीं किया। अब, मैं चेतावनी दूंगा कि मैं किसी बाहरी व्यक्ति के स्रोत कोड को देखने की कोशिश नहीं कर रहा था, मैं सिर्फ अपना खुद का कोड देखना चाहता था, लेकिन हर बार जब मैंने अपने तरीकों में "कदम रखा", जो मैंने लिखा था कि मेरे प्रोजेक्ट में थे, मुझे मिला "स्रोत अब मिला" त्रुटि।

आखिरकार एक विशेषज्ञ से पूछने के बाद, मेरा मुद्दा यह था कि पहली चीज़ जो ग्रहण कर रही थी वह एक क्लासऑलर को बुला रहा था, जिसे आप डिबग स्टैक से देख सकते हैं। मुझे बस F6 (स्टेप ओवर) करना था और फिर यह मुझे मेरे मूल कॉल पर वापस ले गया और फिर F5 (स्टेप इन)। और मेरा कोड था। उच्छ्वास ... इतना आसान फिक्स लेकिन एक घंटा बर्बाद।


0

नौसिखिये के लिए,

संभावना है कि जार फ़ाइल परियोजना का एक हिस्सा है जिसे आपने अभी तक ग्रहण कार्यक्षेत्र में शामिल नहीं किया है।

उसके लिए, आपको जार फ़ाइल का प्रोजेक्ट नाम जानना होगा। उदाहरण के लिए कहें, तो इसका abc -18.0.0-SNAPSHOT.jar, इसका मतलब है कि जिस प्रोजेक्ट को आप अपने कार्यक्षेत्र में शामिल करने वाले हैं, वह एबीसी है


0

मेरे पास 2019-03 (4.11.0) ग्रहण के साथ एक ही मुद्दा था और मैं इसे केवल डिबग मोड में सीधे लॉन्च करने के बजाय दूरस्थ डिबगिंग के माध्यम से डिबगिंग करके हल करने में सक्षम था।


0

स्रोत संलग्न करें -> जोड़ें -> बाहरी संग्रह -> जार चुनें -> खुला -> किया गया

स्रोत जार को पकड़ने के लिए देखो और इस जार को संलग्न करें।

उदाहरण के लिए जार "-source" Stax2-api-3.4.1- स्रोतों के साथ समाप्त होता है


-1

यदि आप अपने मावेन जावा प्रोजेक्ट को डिबग करने की कोशिश कर रहे हैं, और ग्रहण आपके स्रोत को खोजने में सक्षम नहीं है, तो इनमें से किसी एक को आज़माएं।

  1. Pom.xml में इन पंक्तियों को जोड़ने का प्रयास करें
<build>**<sourceDirectory>src/main/java</sourceDirectory>**...

Maven-> अपडेट करें और फिर डीबग करें

  1. परियोजना की मूल निर्देशिका पर जाएं;

मवन ग्रहण: ग्रहण

अब डिबगिंग का प्रयास करें


-1

ग्रहण फोटॉन में "विंडो-> प्राथमिकताएं-> जावा-> डिबग-> उन्नत स्रोत देखने का उपयोग करें" को बंद करने का प्रयास करें

संपादित करें: ग्रहण के इस संस्करण में एक संबंधित बग है जो जावा अनुप्रयोगों को डीबग करते समय "स्रोत नहीं मिला" संदेश की ओर जाता है। अधिक जानकारी के लिए बग रिपोर्ट देखें bugs.eclipse.org/bugs/show_bug.cgi?id=537699


ठीक है, ग्रहण के इस संस्करण में एक संबंधित बग है जो जावा अनुप्रयोगों को डीबग करते समय "स्रोत नहीं मिला" संदेश की ओर जाता है। अधिक जानकारी के लिए बग रिपोर्ट bugs.eclipse.org/bugs/show_bug.cgi?id=537699 देखें
629
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.