जावा JDK सोर्स कोड कहाँ से खोजे? [बन्द है]


153

मैं यह देखना चाहूंगा कि जावा एपीआई में एक विधि क्या है। इसलिए मुझे जेडीके सोर्स कोड चाहिए। इससे पहले कि मैं लिनक्स को फिर से स्थापित करूं, उसमें src.zipसभी आधिकारिक स्रोत कोड के साथ पैकेज था । मुझे सिर्फ एक्लिप्स बताना था कि यह फाइल कहां है और मैं कोड देख सकता हूं। लेकिन अब मेरे पास फाइल नहीं है ...

तो सवाल यह है: मुझे यह कहां मिल सकता है?


16
मुझे हमेशा वह src.zipफाइल मिली है जिसमें JDK इंस्टॉलेशन डायरेक्टरी में पब्लिक जावा एपीआई है। यह है कि आप क्या देख रहे हैं (मैंने मुख्य रूप से विंडोज का उपयोग किया है, इसलिए शायद लिनक्स डिस्ट्रो के पास नहीं है)।
ऐश

16
यह हास्यास्पद है कि यह प्रश्न JDK स्रोत की खोज करते समय Google में # 3 है। # 1 और # 2 Oracle लिंक हैं जिनके पास स्रोत कोड लिंक नहीं हैं। मैं हमेशा JDK स्थापित करते समय इस प्रश्न से गुजरता हूं। ओरेकल कृपया।
आंद्रेजे रहमान

4
src.zip केवल कोर एपीआई के लिए स्रोत बंडल है। ओरेकल से पूरे जावा एसई के लिए सार्वजनिक रूप से उपलब्ध स्रोत नहीं हैं, कुछ भाग बंद स्रोत हैं। हालाँकि, एक प्लेटफ़ॉर्म के आधार पर, आप OpenJDK बाइनरी पर 100% स्रोतों के साथ इंस्टॉल और उपयोग कर सकते हैं। स्रोतों के लिए - Openjdk.java.net पर जाएं और उस संस्करण के लिए स्रोतों का एक क्लोन बनाएं, जिसकी आपको आवश्यकता है। बायनेरिज़ के लिए - कुछ विक्रेता लिनेक्स के लिए IcedTea सहित ऐसे बायनेरिज़ प्रदान करते हैं।
इवान क्रिलोव

1
@ हे, मैं 1996 से जावा का उपयोग कर रहा हूं और मैं अपने बालों को खींच रहा हूं ताकि जेडीके 7 के लिए ओरेकल src.zip खोजने की कोशिश करूं। यह अविश्वसनीय रूप से बेवकूफ है। यह कहां है ???? यह कभी भी मुश्किल नहीं हुआ करता था। ध्यान दें, मुझे OpenJDK नहीं चाहिए।

2
@ एश, मैं हमेशा ही इंस्ट्रक्शन डायरेक्टरी में src.zip ढूंढता था। आप तब इसे ./src/ निर्देशिका में निकालेंगे, और सब कुछ ठीक था। लेकिन यह अब नहीं है। संधि में, JDK 1.7 रीडमी इंगित करता है कि एक src.zip मौजूद होना चाहिए। और वहाँ नहीं है। यह पागलपन है।

जवाबों:


128

आपने यह नहीं कहा है कि आप कौन सा संस्करण चाहते हैं, लेकिन JDK 8 स्रोत कोड का एक संग्रह JDK 7 और JDK 6 के साथ यहां डाउनलोड किया जा सकता है ।

इसके अतिरिक्त आप मर्क्यूरियल रिपॉजिटरी को ब्राउज़ या क्लोन कर सकते हैं: 8 , 7 , 6


1
हाँ; मुझे 6 और फिर उस डाउनलोड पेज पर, मुझे क्या डाउनलोड करना है? बड़ी फाइल jdk-6u21-ea-src-b04-jrl-05_may_2010.jar, 136.48 MB? मैंने पहले ही उस एक को डाउनलोड कर लिया। लेकिन स्रोत कोड शामिल नहीं है।
मार्टिअन कोर्टको

3
@Martijn: क्या आपने बड़ी जार फ़ाइल डाउनलोड करने और फिर उसके अंदर README को पढ़ने की कोशिश की? मूल रूप से आप इसे सिर्फ चलाते हैं java -jar jdk-6u21-ea-src-b04-jrl-05_may_2010.jar। यह स्रोत को निकालेगा।
जॉन स्कीट

2
हां, मैंने यह किया। और मैंने इसे ऐसे निकाला जैसे आपने लिखा है। लेकिन इसमें कोई स्रोत जार या ज़िप नहीं है।
मार्टिज़न कोर्टको

1
बस जोड़ना चाहता था कि वर्तमान (2013) जगह अब jdk7.java.net है जो किसी भी डाउनलोड के लिए OTN पर पुनर्निर्देशित करता है।
केदार म्हसवडे


32

संभावना है कि आपको पहले से ही जेडीके के साथ स्रोत कोड मिला है, यह खोजने की बात है कि यह कहां है। मामले में, JDK फ़ोल्डर में स्रोत कोड शामिल नहीं है:

sudo apt-get install openjdk-7-source

OSX फोल्क्स, homebrew सूत्रों में खोजें।

उबंटू में, ऊपर की कमान आपकी सूइस फाइल को नीचे रखेगी: / usr / lib / jvm / openjd-7 /

अच्छी खबर यह है कि ग्रहण आपको पहले से ही वहां ले जाएगा (ग्रहण को जावा स्रोत कोड में कैसे बाँधें):

नारंगी बटन का पालन करें

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


16

अफसोस की बात है, इस लेखन के रूप में, अपने स्वयं के प्रलेखन को फिर से तैयार करें, जब आप Windows संस्करण डाउनलोड करते हैं तो JDK 7 या 8 इंस्टॉल निर्देशिकाओं में कोई src.zip नहीं होता है ।

नोट: शायद यह इसलिए होता है क्योंकि हममें से बहुत से लोग वास्तव में .exe नहीं चलाते हैं, लेकिन इसके बजाय इसे निकालते हैं। हम में से कई सुरक्षा कारणों से जावा इंस्टाल (पूर्ण विकसित विंडोज़ स्थापित) नहीं चलाते हैं। हम चाहते हैं कि JDK किसी ऐसे स्थान से बाहर निकाले जहाँ संभावित वायरस इसे न पा सकें।

लेकिन खिड़कियों .exe (जो भी यह सच है) के बारे में अपनी नीति वास्तव में पागल, है हालांकि , src.zip करता linux में मौजूद हैं (एक .tar.gz) स्थापित करें। एक .tar और .gz निकालने के कई तरीके हैं, और मैं मुफ्त "7Zip" उपयोगिता पसंद करता हूं।

  1. लिनक्स 64 बिट .tar.gz डाउनलोड करें
  2. एक .tar के लिए .tar.gz को अनकैप करने के लिए 7zip का उपयोग करें
  3. स्थापना निर्देशिका के लिए .tar को निकालने के लिए 7zip का उपयोग करें
  4. src.zip उस इंस्टॉलेशन डायरेक्टरी में आपका इंतजार कर रहा होगा।
  5. इसे बाहर खींचो और जहाँ आपको पसंद हो, वहाँ रखो।

ओरेकल, यह वास्तव में बेवकूफ से परे है।


3
Oracle JDK8 (1.8.60 कम से कम) में विंडोज़ पर मेरे लिए src.zip था। हालांकि ग्रहण ने इसे डिफ़ॉल्ट रूप से नहीं चुना।
बाजरा

@milletron, मैंने भी हाल ही में विंडोज़ रिलीज़ में इसे देखा। मुझे लगता है कि कुछ समय के लिए कुछ समय के लिए उनकी विंडोज़ डाउनलोड छवि उत्पादन में कुछ टूट गया। शायद लाइन टर्मिनेशन b / w यूनिक्स (LF) और विंडो (CRLF) में अंतर से संबंधित है?

यह मुझे जावा 9. के लिए भी करना है
Lii

11

मुझे अपने उबंटू में यह समस्या थी।

मेरे जावा इंसल्टेशन के लिए स्रोत प्राप्त करने के लिए मुझे बस इतना करना चाहिए:

sudo apt-get install sun-java6-source 

उबंटू 14.04 पर:E: Unable to locate package sun-java6-source
नाटेओमी

8

JDK 1.6 मैं वर्तमान में OSX माउंटेन लायन पर उपयोग कर रहा हूं src.zip, या तो साथ नहीं आया था , और जहां तक ​​मैं बता सकता हूं कि 1.6 उपलब्ध अब तक कोई समर्थित OSX JDK नहीं है।

इसलिए मैंने OpenJDK स्रोत डाउनलोड किया (स्वीकृत उत्तर (+1) से लिंक का उपयोग करके) फिर भाग गया:

cd ~/Downloads
mkdir jdk6src
cd jdk6src
tar xf ../openjdk-6-src-b27-26_oct_2012.tar.gz
cd jdk/src/share/classes
jar cf /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/src.jar *

(आपके फ़ाइल नाम और पथ भिन्न हो सकते हैं ...)

एसोसिएट करें कि src.jarआपके आईडीई में उपयुक्त जावा प्लेटफॉर्म के साथ और आपको जाने के लिए अच्छा होना चाहिए।

OpenJDK स्रोत और वर्तमान में चल रहे JDK के बीच कुछ विसंगतियां हैं (लाइन नंबर डिबगर में मेल नहीं खाते हैं, एक के लिए), लेकिन अगर आप चाहते हैं कि अपेक्षाकृत के लिए अपनी आईडीई को इंगित करने के लिए एक ज़िप / जार है कुछ मामलों में आपको यह समझने के लिए कुछ कोड को देखने की आवश्यकता है कि कुछ कैसे काम करता है, तो यह चाल चलनी चाहिए।


1
मैक का उपयोग करते समय मुझे इसकी आवश्यकता थी। नवीनतम ओएस के बारे में कोई स्पष्ट निर्देश नहीं है और स्रोत को कैसे हड़पना है। (वे सभी अपडेट को डाउनलोड करने के बारे में बात करते हैं जिसमें स्रोत शामिल नहीं है या ओरेकल से डाउनलोड करना है लेकिन यह एक तरह से या किसी अन्य तरीके से सभी अस्पष्ट या गलत है)
डीसीटी

1
बस यह उजागर करना चाहता था कि ऐसा करने का यह सही तरीका है, क्योंकि @dtc ने कहा, हर दूसरे निर्देश में गलत या बासी है। यह इंटेलीज 15 के साथ एक स्काला प्रोजेक्ट पर किया, इसने पूरी तरह से काम किया। धन्यवाद @ मिस्टर ईद!
मज़ारेज़

src.jar एक पूर्ण स्रोत नहीं है। पूर्व के लिए, इसमें javax.net का स्रोत नहीं है
कन्नन राममूर्ति

4

यह फ़ाइल मानक JDK डाउनलोड में निहित है । इसके अलावा आपके लिनक्स सिस्टम में शायद JDK का भंडार है। मेरी उबुन्टु लिनक्स फाइल यहाँ स्थित है: /usr/lib/jvm/java-6-sun-1.6.0.20/src.zip


अहा! क्या आप पोस्ट कर सकते हैं कि आपने अपने जावा वीएम और जेडडीके के लिए कौन से पैकेज स्थापित किए हैं। क्योंकि मेरे पास वह फोल्डर नहीं है।
मार्टिज़न कोर्टको

4

JDK में 8 स्रोत /src.zip में पाया जा सकता है। अब कुछ मध्यवर्ती रिलीज में यह ज़िप गायब थी लेकिन फिर से यह उपलब्ध है।यहाँ छवि विवरण दर्ज करें

सुनिश्चित करें कि आप स्रोत के साथ-साथ इंस्टॉलेशन विज़ार्ड से चयन करें।



2

खैर, मैंने अपने मैक में टर्मिनल खोला और टाइप किया: "इको $ JAVA_HOME" फिर मुझे निर्देशिका मिली, वहां गया और src.zip पाया


1

हाँ!! समझ गया!

मैंने लिनक्स के लिए sun.com से Java Developer Kit (JDK) डाउनलोड किया। में src.zip था। लेकिन पहले मैंने synaptic के साथ सभी Java संकुल की स्थापना रद्द की।


ध्यान दें कि लिनक्स के तहत जावा को स्थापित करने के लिए वास्तव में रूट होने की आवश्यकता नहीं है। मैं हमेशा (दस साल से अधिक समय से) जावा को अपने Un * x सिस्टम पर एक गैर-रूट उपयोगकर्ता के रूप में स्थापित करता हूं (इसलिए, नहीं, मैं apt-get / synaptic / जो भी उपयोग नहीं करता हूं)।
SyntaxT3rr0r

1

आधिकारिक लिंक अब मूल स्रोत कोड प्रदान नहीं करता है। आधिकारिक लिंक और आकस्मिक Google खोज आपको खुले jdk के साथ लैंड करेंगे। जब तक बिल्ड स्क्रिप्ट फ़ाइलों को संशोधित नहीं किया जाता है तब तक ओपन jdk एंड्रॉइड बिल्ड के साथ समस्याओं का कारण बनता है। मूल पैकेज यहां पाया जा सकता है:

सूडो ऐड-ऑप-रिपॉजिटरी "डिबेट http://ppa.launchpad.net/ferramroberto/java/ubuntu oneiric main"

इस रेपो में अभी भी सूरज-जावा 6-स्रोत पैकेज है। साभार: http://pulasthisupun.blogspot.com/2012/05/installing-sun-java-6-with-apt-get-in.html

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