क्या ग्रहण में स्रोत संलग्न करने का एक आसान तरीका है?


130

मैं जिस तरह से कोड लिखा है और ALSO कोड है कि आप संदर्भित कर रहे हैं (विभिन्न पुस्तकालयों / विधानसभाओं) को पूरा करते समय विज़ुअल स्टूडियो आपको टिप्पणी प्रलेखन / पैरामीटर नाम देगा, का एक बड़ा प्रशंसक हूं।

क्या कोड को पूरा करने या तरीकों पर मँडराते समय ग्रहण में इनलाइन javadoc / पैरामीटर नाम प्राप्त करने का एक आसान तरीका है? प्लगइन? कुछ सेटिंग के माध्यम से? यह बहुत सारे पुस्तकालयों का उपयोग करने के लिए बहुत कष्टप्रद है (जैसा कि अक्सर जावा में होता है) और तब आपको वेबसाइट देखने के लिए वेबसाइट या स्थानीय javadoc स्थान पर जाना पड़ता है जब आपके पास स्रोत जार में होता है!


वहाँ एक अलग विधि है जब maven m2e प्लगइन का उपयोग?
cmcginty

1
यह भी देखें: लिबास फ़ोल्डर में जारडॉक या स्रोतों को जार में कैसे संलग्न करें? एंड्रॉइड के लिए यह कैसे करना है जहां नीचे समाधान काम नहीं करता है।
ब्लाहडाइला

जवाबों:


153

लघु उत्तर हाँ होगा।

आप किसी प्रोजेक्ट के लिए गुणों का उपयोग करके स्रोत संलग्न कर सकते हैं।

प्रॉपर्टीज (प्रोजेक्ट के लिए) -> जावा बिल्ड पाथ -> लाइब्रेरी

वह लाइब्रेरी चुनें जिसके लिए आप स्रोत / javadoc संलग्न करना चाहते हैं और फिर उसका विस्तार करें, आपको एक सूची दिखाई देगी:

Source Attachment: (none)
Javadoc location: (none)
Native library location: (none)
Access rules: (No restrictions)

Javadoc स्थान चुनें और फिर दाईं ओर स्थित संपादन पर क्लिक करें। यह वहां से काफी सीधा होना चाहिए।

सौभाग्य :)


3
आपको इस बात पर ध्यान देना चाहिए कि आप स्रोत अटैचमेंट सेक्शन में भी ऐसा कर सकते हैं यदि आपके पास वास्तविक स्रोत है जिसे आप संलग्न करना चाहते हैं। तब आपको जावेदोक मिलता है और आप चाहें तो सीधे वास्तविक स्रोत को देख सकते हैं।
18

14
मैं इसे स्रोत संलग्न करने के लिए कठिन और दर्दनाक तरीका कहूंगा। जब भी आप जार का उपयोग करते हैं, तो आपको हर बार जार फ़ाइल को शामिल करने की आवश्यकता होती है। जब आपके पास बहुत सारे जार, और बहुत सारे प्रोजेक्ट हैं, तो यह अच्छा नहीं है।
जेम्स मूर

3
@JamesMoore, क्या कोई बेहतर तरीका है?
फेलिक्स

12
इस उत्तर के लिए बहुत अधिक वोट! 5 साल के बेहतर उत्तर में उल्लेखित जावा स्रोत अटैकर है जो वास्तव में "एक आसान तरीका" है।
सातवें

1
जब हम काम पर "गैर-परिवर्तनीय" करते हैं तो क्या करें?
हेनरिक डी सोसा

108

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

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

यह स्वचालित रूप से आपके लिए स्रोत डाउनलोड करता है और इसे संलग्न करता है। मैंने केवल एक युगल पुस्तकालयों को मारा है, जिनके बारे में यह नहीं पता है और जब ऐसा होता है तो यह आपको url को समुदाय में वापस योगदान देता है ताकि किसी और को उस पुस्तकालय के साथ कोई समस्या न हो।


यह काम करता है, लेकिन क्या आप जिस विधि से यह प्रोजेक्ट एक्सप्लोरर में आता है, उस जार का निरीक्षण करने की विधि से प्राप्त करने का कोई आसान तरीका है?
नौमेनन

ध्यान दें कि .jarफ़ाइलें आपके प्रोजेक्ट फ़ोल्डर को सहेजे नहीं हैं, इसलिए .classpathयदि आप दूसरों के साथ सहयोग कर रहे हैं तो आपका पोर्टेबल नहीं होगा।
Stevoisiak

14

यह करने का एक आसान तरीका है:

  1. संबंधित एसआरसी फ़ाइलें / फ़ोल्डर डाउनलोड करें।

  2. ग्रहण संपादक में, एक विधि / वर्ग पर Ctrl + क्लिक या F3 जिसके लिए आपको स्रोत की आवश्यकता होती है। एक नया टैब खुलता है जो कहता है "कोई संलग्न स्रोत नहीं मिला"।

  3. "संलग्न स्रोत" बटन पर क्लिक करें, "संलग्न स्रोत फ़ोल्डर" बटन पर क्लिक करें, डाउनलोड किए गए एसआरसी फ़ोल्डर के स्थान पर ब्राउज़ करें। किया हुआ!

(पीएस: बटन लेबल थोड़ा भिन्न हो सकते हैं, लेकिन यह बहुत अधिक है।)


5

मैंने पाया है कि कभी-कभी, आप उस निर्देशिका को इंगित करते हैं जिसे आप मान लेंगे कि यह सही था, और फिर यह अभी भी बताता है कि यह फ़ाइल को संलग्न स्रोत ब्ला ब्ला में नहीं मिल सकता है।

इन बार, मैंने महसूस किया है कि अंतिम पथ तत्व "src" था। बस इस पथ तत्व को हटा रहा है (इस प्रकार वास्तव में वास्तविक पथ के ऊपर एक स्तर इंगित करता है जहां "org" या "com" फ़ोल्डर स्थित है) जादुई रूप से यह काम करता है।

किसी भी तरह, ग्रहण इस "src" पथ तत्व का अर्थ है यदि मौजूद है, और यदि आप इसे स्रोत पथ में शामिल करते हैं, तो ग्रहण चोक हो जाता है। या कुछ इस तरह का।


मेरे पास एक ही मुद्दा है: स्रोत "स्रोत" नामक एक निर्देशिका में है (जहां "org" आदि स्थित हैं), लेकिन मुझे Ctrl + विधि नाम पर क्लिक करते समय इसका उपयोग करने के लिए ग्रहण नहीं मिल सकता है। इसके बजाय मुझे बाइट कोड व्यू मिलता है। मैंने इसका नाम बदलकर "src" करने का प्रयास किया, "org" को एक निर्देशिका के रूप में, या "स्रोत" के ऊपर एक का उपयोग करते हुए लेकिन कुछ भी नहीं बदलता ...
6th पर Matthieu

मुझे विश्वास नहीं है कि ग्रहण ग्रहण srcपथ का हिस्सा है। बस उस फ़ोल्डर को चुनें जिसमें पैकेज के शीर्ष-स्तर-डोमेन नाम के नाम का फ़ोल्डर है।
H2ONaCl

@ब्रायन: मज़ेदार है कि आप विश्वास नहीं करते हैं, जब मैंने कहा था कि यह वही है जो मैं अनुभवजन्य रूप से, शारीरिक रूप से अनुभवी हूं ! :-)
२-३४:

5

हाँ एक आसान तरीका है ... http://sourceforge.net/projects/jdk7src/ पर जाएं और ज़िप फ़ाइल डाउनलोड करें। फिर इसे ग्रहण से जोड़ दें। वह रास्ता दें जहाँ आपने ग्रहण में ज़िप फ़ाइल डाउनलोड की है। हम तब स्रोत से ब्राउज़ कर सकते हैं।


5

1) उस नियंत्रण पर नियंत्रण रखें जिसे आप देखना चाहते हैं। फिर ग्रहण आपको सोर्स नॉट फाउंड पेज पर लाएगा।

2) "अटैच सोर्स" पर क्लिक करें यहाँ छवि विवरण दर्ज करें

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

4) C: \ Program Files \ Java \ jdk-9.0.1 \ lib \ src.zip पर नेविगेट करें

5) ओके पर क्लिक करें यहाँ छवि विवरण दर्ज करें अब आपको सोर्स कोड देखना चाहिए।


4

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

इसके अतिरिक्त, यदि आप जार में एक वर्ग या एक विधि का चयन करते हैं और उस पर CTRL + क्लिक करें (या F3 दबाएं) तो आप उस बाईटेकोड दृश्य में जाएंगे, जिसमें स्रोत कोड को संलग्न करने का एक विकल्प है।

इन चीजों को करने से आपको सभी पैरामीटर नाम के साथ-साथ पूर्ण javadoc मिलेगा।

यदि आपके पास स्रोत नहीं है, लेकिन आपके पास javadoc है, तो आप पहली विधि के माध्यम से javadoc संलग्न कर सकते हैं। यदि आप इसे डाउनलोड नहीं करते हैं तो यह एक बाहरी URL का संदर्भ भी दे सकता है।


3
  1. उस जावा कोड पर क्लिक करें जिसे आप देखना चाहते हैं। (यदि आप java.util.List के लिए स्रोत कोड की जाँच करना चाहते हैं तो List.java खोलने के लिए सूची पर क्लिक करें)
  2. "अटैच सोर्स" बटन पर क्लिक करें।
  3. आपसे "rt.jar के स्रोत वाले स्थान (फ़ोल्डर, JAR या ज़िप) का चयन करने के लिए कहा जाएगा।"
  4. "बाहरी स्थान" विकल्प चुनें। Src.zip फ़ाइल की स्थिति जानें।
  5. Src.zip के लिए पथ है: * \ Java \ jdk1.8.0_45 \ src.zip

2
  1. स्रोत फ़ाइलों को ज़िप फ़ाइल में डालें (जैसा कि यह जावा स्रोत के लिए करता है)
  2. प्रोजेक्ट गुण पर जाएं -> लाइब्रेरी
  3. स्रोत अनुलग्नक चुनें और 'संपादित करें' पर क्लिक करें
  4. स्रोत अनुलग्नक कॉन्फ़िगरेशन पर 'परिवर्तनीय' पर क्लिक करें
  5. "परिवर्तनीय चयन" पर 'नया' क्लिक करें
  6. एक सार्थक नाम रखो और चरण 1 में बनाई गई ज़िप फ़ाइल का चयन करें

1

एक अन्य विकल्प आपकी जार फ़ाइल पर राइट क्लिक करना है जो कि (आपका प्रोजेक्ट) -> संदर्भित लाइब्रेरी -> (आपका जार) के अंतर्गत होगी और गुणों पर क्लिक करें। फिर जावा सोर्स अटैचमेंट पर क्लिक करें। और फिर अपने सोर्स जार फ़ाइल के लिए लोकेशन में लोकेशन पाथ डालें।

यह आपके स्रोत फ़ाइल को संलग्न करने का सिर्फ एक और तरीका है।



1

यदि आप अपने पुस्तकालयों को ढाल के साथ बनाते हैं, तो आप अपने द्वारा बनाए जाने वाले जार में स्रोतों को संलग्न कर सकते हैं और फिर ग्रहण स्वचालित रूप से उनका उपयोग करेगा। @MichaelOryl द्वारा उत्तर देखें कि कैसे ढाल के साथ स्रोत जार का निर्माण करें

आपके संदर्भ के लिए यहां कॉपी किया गया है:

jar {
    from sourceSets.main.allSource
}

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


0

स्वचालित निर्माण का उपयोग करते समय उस आसान को बनाने के लिए एक और विचार:

जब आप अपने किसी प्रोजेक्ट का जार बनाते हैं, तो एक सोर्स फाइल्स जार भी बनाएँ:
project.jar
project-src.jar

प्रत्येक जार में स्रोत संदर्भ जोड़ने के लिए बिल्ड पथ विकल्प संवाद में जाने के बजाय, निम्न प्रयास करें: संवाद के माध्यम से एक स्रोत संदर्भ जोड़ें। अपने .classpath को संपादित करें और पहले जार प्रविष्टि को टेम्पलेट के रूप में उपयोग करके, अपने प्रत्येक दूसरे जार में स्रोत जार फाइलें जोड़ें।

इस तरह आप अपनी परियोजनाओं को बनाने के लिए कुछ और स्टैंडअलोन का उपयोग करते हुए ग्रहण के नेविगेशन एड्स को उनके पूर्ण रूप से उपयोग कर सकते हैं।


0

मैं एक ही JAR से कई परियोजनाओं में इस्तेमाल होने वाले स्रोतों को जोड़ने के लिए एक विकल्प के लिए पूछने जा रहा था। मूल रूप से, मैंने सोचा था कि स्रोत के साथ जार को फिर से बनाने का एकमात्र विकल्प है, लेकिन "उपयोगकर्ता पुस्तकालय" सुविधा को देखते हुए, आपको स्रोत के साथ जार का निर्माण नहीं करना है।

यह एक विकल्प है जब आपके पास कई परियोजनाएं (संबंधित या नहीं) जो एक ही JAR का संदर्भ देती हैं। प्रत्येक JAR के लिए एक "उपयोगकर्ता लाइब्रेरी" बनाएं और उन्हें स्रोत संलग्न करें। अगली बार आपको "Add JARs ..." या "Add External JARs ..." का उपयोग करने के बजाय एक विशिष्ट JAR की आवश्यकता है, जो आपने पहले बनाई गई "उपयोगकर्ता लाइब्रेरी" को जोड़ते हैं।

आपको केवल JAR प्रति स्रोत ONCE संलग्न करना होगा और किसी भी संख्या में परियोजनाओं के लिए इसका फिर से उपयोग कर सकते हैं।


0

जो लोग एक्लिप्स प्लगइन्स लिख रहे हैं और स्रोत को शामिल करना चाहते हैं ... फ़ीचर ExportWizard में स्रोत सहित के लिए एक विकल्प है: यहाँ छवि विवरण दर्ज करें


0

बस अटैच सोर्स पर क्लिक करें और फ़ोल्डर पथ चुनें ... नाम फ़ोल्डर नाम (मेरे मामले में) के समान होगा। एक बात याद रखें कि आपको प्रत्यय पूर्व D: \ MyProject \ में "\" के साथ प्रोजेक्ट फ़ोल्डर बेस लोकेशन तक का चयन करना होगा


-2

यह ओवरकिल की तरह लग सकता है, लेकिन अगर आप मावेन का उपयोग करते हैं और स्रोत को शामिल करते हैं, तो मावन एक्लिप्स प्लगइन आपको सभी इन-लाइन प्रलेखन देने के लिए आवश्यक सभी स्रोत कॉन्फ़िगरेशन उत्पन्न करेगा जो आप पूछ सकते हैं।


1
लेकिन इसके साथ ही, यह आपके सामान्य ग्रहण निर्माण प्रणाली के लिए एक स्लेजहैमर लेता है, जो भी काम करता था उसे कुचल देता है।
जेम्स मूर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.