डिफ़ॉल्ट- jdk, ecj, gcj और openjdk में क्या अंतर है?


23

आज सुबह, मैंने कुछ स्थापित करने की कोशिश की और इस तरह एक बयान में आया:

The program 'javac' can be found in the following packages:
 * default-jdk
 * ecj
 * gcj-4.6-jdk
 * gcj-4.7-jdk
 * openjdk-7-jdk
 * openjdk-6-jdk
Try: sudo apt-get install <selected package>

डिफ़ॉल्ट- jdk, ecj, gcj और openjdk में क्या अंतर है?

अग्रिम में धन्यवाद।


1
यहां बाइक भी है।
पेसियर

जवाबों:


16

डिफ़ॉल्ट-JRE

यह एक साधारण पैकेज है, जो ओपनजडेक -7-जेआर पर निर्भर करता है (और इसलिए मूल रूप से ओपनजेडक -7-जेआर के बराबर है ) और डिफॉल्ट-जेआर-हेडलेस । यह "मानक जावा या जावा संगत रनटाइम" स्थापित करता है, जो ओपनजेडके 7 जेआरई है।

यह पैकेज जावा रनटाइम या जावा संगत रनटाइम की ओर इशारा करता है, जिसे i386 आर्किटेक्चर के लिए अनुशंसित किया गया है, जो कि i386 के लिए ओपनजेडक-7-जेआर है।

पैकेज की जानकारी
पैकेज निर्भरता (saucy)

ECJ

यह "स्टैंडअलोन एक्लिप्स जावा कंपाइलर" है। इसे स्थापित करने से एक्लिप्स स्थापित नहीं होगा, क्योंकि यह एक स्टैंडअलोन पैकेज है (नीचे निर्भरता लिंक देखें)। इसमें "ग्रहण जेडडीटी संकलक का एक स्टैंडअलोन संस्करण है जो ग्रहण के हिस्से के रूप में वितरित किया गया है" और जावा 1.3 से 1.7 के बीच संगत है।

यह पैकेज ग्रहण JDT संकलक का एक स्टैंडअलोन संस्करण प्रदान करता है जिसे ग्रहण के भाग के रूप में वितरित किया जाता है। यह जेसीके (जावा कम्पैटिबिलिटी किट) पास करता है और जावा 1.3, 1.4, 1.5, 1.6 और 1.7 के साथ संगत है।

पैकेज की जानकारी
पैकेज निर्भरता (saucy)

gcj-4.6-JDK

(gcj-4.7-jdk जावा 7 के लिए समान है लेकिन)

यह मूल रूप से जावा बाइटकोड और स्रोत फ़ाइलों को संकलित करने के लिए जीसीसी संकलक के लिए एक दृश्य है।

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

पैकेज में रैपर स्क्रिप्ट और सिमिलिंक का संग्रह है। यह GCJ टूल सेट को जावा-एसडीके-जैसा इंटरफेस प्रदान करने के लिए है।

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

पैकेज की जानकारी

क्या जीएनयू का जावा कंपाइलर (जीसीजे) मृत है? -
gnu.org पर स्टैक ओवरफ्लो GCJ होम पेज (अपडेट: लिंक अब चला गया है, लेकिन GCJ विकी अभी भी उपलब्ध है

openjdk-6-JDK

(Openjdk-7-jdk जावा 7 के लिए समान है लेकिन)

जावा प्लेटफ़ॉर्म का एक खुला स्रोत संस्करण।
से विकी :

OpenJDK परियोजना का प्राथमिक लक्ष्य जावा एसई प्लेटफॉर्म (6 और 7) का एक ओपन-सोर्स कार्यान्वयन का उत्पादन करना है। यह जावा का डिफ़ॉल्ट संस्करण है जिसे उबंटू उपयोग करता है और इंस्टॉल करना सबसे आसान है।

पैकेज सारांश:

OpenJDK जावा प्रोग्रामिंग भाषा का उपयोग करके अनुप्रयोगों, एप्लेट्स और घटकों के निर्माण के लिए एक विकास वातावरण है।

पैकेज IcedTea बिल्ड समर्थन और IcedTea परियोजना से पैच का उपयोग कर बनाया गया है।

पैकेज की जानकारी


इसके अलावा, आपके प्रश्न में उल्लेख नहीं किया गया था Oracle जावा (क्योंकि यह डिफ़ॉल्ट रीपो में नहीं है), जिसे मैं पूर्णता के लिए नीचे सूचीबद्ध करूंगा

ओरेकल-java7-संस्थापक

( Web Up8 पीपीए से पैकेज का नाम , .tar.gz में Oracle द्वारा वितरित)

ओरेकल (पहले सूर्य) द्वारा जावा के बंद स्रोत 'आधिकारिक' कार्यान्वयन। लाइसेंसिंग मुद्दों के कारण आधिकारिक रिपॉज में होस्ट नहीं किया गया। यह वेब Up8 द्वारा एक स्क्रिप्ट के रूप में उपलब्ध कराया गया था जो इसे आपके लिए डाउनलोड और इंस्टॉल करता है।

कैसे स्थापित करें - वेब 8


क्या इसका अर्थ है कि एक्ज इंस्टालेशन एक्लिप्स + जावा स्थापित करेगा?
r --dʒɑ

विशेष रूप से GCJ का उद्देश्य क्या है?
r --dʒɑ

@rajagenupula मेरे संपादन raj
kiri

4

मुझे भी यही समस्या थी। मैंने पाया कि वे एक से दूसरे में अंतर कर रहे हैं।

दोनों default-jdkऔर openjdkअधिक कर रहे हैं समान वे एक ही जावा एपीआई कोड होने के रूप में। लेकिन लक्ष्य प्लेटफॉर्म में अंतर है

  • openjdk: सबसे स्थिर है। यह सभी प्लेटफार्मों के लिए डिज़ाइन किया गया था । यह मूल रूप से ओपन-सोर्स प्लेटफार्मों को लक्षित कर रहा है।

  • डिफ़ॉल्ट- jdk: स्थिर नहीं है । इसे कुछ लक्ष्य प्लेटफार्मों को लक्ष्य करके बनाया गया था । यह मूल रूप से बंद प्लेटफार्मों को लक्षित कर रहा है। (ओपन-सोर्स के लिए बाद में उपलब्ध था) जेआरई इसमें हैं।

लेकिन अन्य पूरी तरह से अलग हैं: वे सिर्फ कंपाइलर हैं । उन्हें जाना जाता था क्योंकि, शुरुआत में जावा ओपन-सोर्स के लिए उपलब्ध नहीं था। ग्रहण जैसी चीजों के लिए केवल सायतन संकलक जारी किए गए थे।

  • gcj -jdk: (जावा के लिए GNU कंपाइलर)। यह GNU में जावा के लिए एक संकलक है । (जावा द्वारा प्रयुक्त)

  • एक्ज: (एक्लिप्स जावा कंपाइलर) एक्सेल द्वारा उपयोग किया जाने वाला जावा कंपाइलर है।

यह एक्ज नॉट ईसीजे है जो जावा इवोल्यूशनरी कंप्युटेशन टूलकिट है


द्वारा रोकने के लिए धन्यवाद, कृपया उपरोक्त टिप्पणियों को देखें जो मैंने साथी के जवाब पर की हैं और कृपया उन लोगों को हल करने का प्रयास करें।
r --dʒɑ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.