मैं ग्रहण में JRE के स्रोत कोड को कैसे देखूं?


85

ग्रहण का उपयोग करते हुए मैं एक कोर जावा वर्ग (ईजी java.util.concurrent.ConcurrentHashMap) के लिए स्रोत कोड देखना चाहता हूं, लेकिन जब मैं 'ओपन डिक्लेरेशन' का उपयोग करके स्रोत पर नेविगेट करता हूं तो यह कहता है कि 'स्रोत नहीं मिला' और मुझे स्रोत को संलग्न करने का विकल्प देता है।

मेरा सवाल यह है कि; मैं स्रोत कैसे संलग्न करूं? मुझे java.util.concurrentपुस्तकालय के लिए स्रोत कहां से मिलेगा ।

जवाबों:


84

आपको जेडीके स्थापित करना होगा। तब आप अंदर देख सकते हैंJDK_INSTALL_DIR\src.zip

मेरे लिए यह C:\Program Files\java\jdk1.6.0_11\(अपने वर्तमान संस्करण पर निर्भर करता है)

आपको एक विशेष ओपन सोर्स संस्करण प्राप्त करने की आवश्यकता नहीं है।


3
अभी का क्या? ओरेकल स्रोत छुपाने लगता है? क्या आप कृपया सलाह दे सकते हैं कि अब कैसे करें?
अहमद हमी

95

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


9

स्रोत प्राप्त करने के लिए यहां कुछ अच्छे उत्तर दिए गए हैं। लेकिन सावधानी का एक शब्द: मैं इस बारे में सावधान रहूंगा कि आप इसे कैसे उपयोग करते हैं (यदि आप इसे केवल संदर्भ के लिए उपयोग कर रहे हैं)। API दस्तावेज़ केवल अनुबंध आप के खिलाफ कोड चाहिए, और क्या डेवलपर्स विज्ञप्ति के बीच संगत / बरकरार रखेंगे है। मैं स्रोत का उपयोग कार्यान्वयन विवरणों का पता लगाने के लिए नहीं करूंगा और फिर उन कार्यान्वयन विवरणों के संबंध में अपने एप्लिकेशन को कोड कर दूंगा, क्योंकि वे रिलीज़ के बीच बदल सकते हैं।


1
उस के साथ कोई समस्या नहीं :)
रोब Hruska

6

जब आप अपनी परियोजना के जावा पथ को देखते हैं तो आपको "JRE सिस्टम लाइब्रेरी [jdk1.x.xxxx]" देखने में सक्षम होना चाहिए।

आप प्रोजेक्ट बिल्ड पाथ कॉन्फिगरेशन स्क्रीन को एक्सेस कर सकते हैं: प्रोजेक्ट पर राइट क्लिक करें -> बिल्ड पाथ -> कन्फर्म बिल्ड पाथ ... आपको सूची के नीचे JRE सिस्टम लाइब्रेरी प्रविष्टि देखनी चाहिए।

कक्षा के लिए स्रोत को देखने का सबसे आसान तरीका "ओपन टाइप" शॉर्टकट का उपयोग करना है। इस शॉर्टकट के लिए डिफ़ॉल्ट है: Ctrl+ Shift+ T"। आप जिस वर्ग की तलाश कर रहे हैं, उसे आपके नाम के अनुसार दिखाई देना चाहिए।


4

आप http://openjdk.java.net/ पर जा सकते हैं और ओपनजेडके प्रोजेक्ट के नवीनतम बिल्ड डाउनलोड कर सकते हैं । मुझे लगता है कि यह आपको वह चाहिए जो आपको चाहिए।


4

Ubuntu के लिए, Openjdk-6-source स्थापित करें और /usr/lib/jvm/java-6-openjdk/src.zip का उपयोग करें


3

अगर आपको वास्तविक स्रोत नहीं मिल रहा है तो आप क्लास फाइल से स्रोत को फिर से बनाने के लिए एक डिकम्पॉइलर का उपयोग भी कर सकते हैं।

व्यक्तिगत रूप से मैं ग्रहण को स्रोत में देखने के लिए JADClipse प्लगइन के साथ संयुक्त JAD का उपयोग करता हूं।


3

प्रोजेक्ट पर राइट क्लिक करें -> बिल्ड पाथ -> कन्फर्म बिल्ड पाथ। अब अपना jre संपादित करें> 2nd विकल्प वैकल्पिक jre चुनें -> किसी भी jdk ( jre नहीं ) का चयन करें । समाप्त करें, अब किसी भी वर्ग को ctrl + क्लिक करके खोलें, इसका स्रोत कोड प्रदर्शित होगा।


1

ग्रहण के बाहर आप jDasourcecode.org पर JDK स्रोतों को देख सकते हैं । इस पृष्ठ पर आप इनिशियल एपीआई डॉक्यूमेंट से सोर्स कोड और वाइसवर्स पर स्विच कर सकते हैं।


1
URL अब मान्य नहीं है
sigi


0

आप ग्रहण मार्केटप्लेस से can एक्लिप्स क्लास डीकॉम्पेलर जेडी, जेड, को एकीकृत करता है।

एक्लिप्स मार्केटप्लेस में खोज बॉक्स से लिखें: 'जेड' और आपको यह मिल जाएगा।


0

src.zip फ़ाइल संस्थापित jdk फ़ोल्डर में मौजूद है:..\Program Files\Java\jdk1.8.0_131

अटैच सोर्स दिखाने वाली स्क्रीन पर यह पथ प्रदान करें ... मेरे लिए काम किया।


0

हम C: \ Program Files \ Java \ jdk1.8.0_73_ src.zip देख सकते हैं जहाँ C: \ Program Files एक होम डायरेक्टरी है जहाँ मैंने java को इनस्टॉल किया है।

ग्रहण में, यह दिखाएगा जैसे स्रोत नहीं मिला । फार्म वहाँ लिंक ब्राउज़ स्रोत की तरह आ जाएगा। लिंक C: \ Program Files \ Java \ jdk1.8.0_73 \ src.zip ब्राउज़ करें और इसे संलग्न करें। अब आप अपना सोर्स कोड देख सकते हैं।


0

@jjnguy सुझाव ने मेरे लिए काम किया। लेकिन सुनिश्चित करें कि आपने डिफ़ॉल्ट कंपाइलर को भी बदल दिया है। राइट क्लिकन वें प्रोजेक्ट -> जावा कंपाइलर-> JDK कम्प्लायंस (राइट सेक्शन) के तहत लिंक पर क्लिक करें।

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