OpenJDK 6 को OpenJDK 7 से कैसे बदलें?


33

हैरानी की बात है (के रूप में OpenJDK 7 के बारे में 4 महीने पहले सामान्य उपलब्धता के लिए जारी किया गया था) Ubuntu 11.10 अभी भी डिफ़ॉल्ट रूप से 7 के बजाय OpenJDK 6 का उपयोग करता है। मैं इसे कैसे ठीक करूं? मैं OpenJDK 6 को पूरी तरह से हटाना चाहता हूँ और OpenJDK 7 को डिफ़ॉल्ट-jdk और default-jre होने देता हूँ।

मुझे आधिकारिक ओरेकल टैरबॉल नहीं चाहिए, मुझे डिबेट रिपॉजिट चाहिए - मानक उबंटू रास्ता।


किसी को एक डेबियन पैकेज में निर्माण करना होगा और लॉन्चपैड पर पीपीए में डालना होगा। यदि किसी ने अभी तक ऐसा नहीं किया है, तो आप एक .deb बना सकते हैं या टार स्थापित कर सकते हैं।
मार्टिन यूडिंग

फिर भी 12.04 के साथ मामला
थोरबजोरन रेव एंडरसन

वर्ष 2011 - अब वर्ष 2012 - यह वास्तव में हल किया गया था (जो एक ही जवाब माना जाता था lolयदि नहीं? i gonna write a nice wiki on thisमेरे प्रश्न / उत्तर में।

अपने सिस्टम को LTS में अपग्रेड करना बेहतर होगा।
केतन पटेल

जवाबों:


28

समस्या यह है कि default-jreपैकेज OpenJDK 6 पर निर्भर करता है और अधिकांश अन्य पैकेजों में उनकी निर्भरताएँ परिभाषित होती हैं default-jre | openjdk-6-jre | sun-java6-jre- इसलिए जब तक OpenJDK 7 आधिकारिक रूप से समर्थित नहीं हो जाता और इसे डिफ़ॉल्ट संस्करण के रूप में उपयोग किया जाएगा, या जब तक कि सभी जावा-निर्भर पैकेज अपनी निर्भरता को अपडेट नहीं कर देते, तब तक आप OpenJDK 6 को चारों ओर रखना है और OpenJDK 7 को डिफ़ॉल्ट रूप से सेट करना है update-java-alternatives। 64-बिट सिस्टम के लिए उदाहरण:

$ update-java-alternatives -l
java-1.6.0-openjdk 1061 /usr/lib/jvm/java-1.6.0-openjdk
java-1.7.0-openjdk-amd64 1051 /usr/lib/jvm/java-1.7.0-openjdk-amd64
$ sudo update-java-alternatives -s java-1.7.0-openjdk-amd64

32-बिट सिस्टम पर निर्देशिका नाम अलग-अलग होगा, आप -lस्विच का उपयोग करके सही नाम पा सकते हैं । दूसरी कमांड में बहुत सारी त्रुटियाँ हो सकती हैं; या तो --jreस्विच का उपयोग करें या केवल त्रुटियों को अनदेखा करें - स्क्रिप्ट बदल जाती है कि वह क्या कर सकती है और बाकी को अनदेखा करती है।

कोई व्यक्ति सैद्धांतिक रूप से default-jreOpenJDK 7 पर निर्भर रहने के लिए पैकेज को संपादित कर सकता है , लेकिन चेतावनी दी जाती है कि इससे अच्छे से अधिक नुकसान हो सकता है।


2
सटीक रूप से काम करने के लिए इसे प्राप्त करने के लिए मुझे यह सुनिश्चित करना था कि प्रत्येक ओपनजेक -6 या आइसेडेटा -6 पैकेज के लिए एक समान ओपनजेक -7 या आइसेटिया -7 पैकेज था, अन्यथा अपडेट-जावा-विकल्प स्विच बनाने में विफल होंगे।
ब्लेयर ज़ाजैक

2
Icedtea-7-plugin ( $ sudo apt-get install icedtea-7-plugin) स्थापित करने के बाद इसने Ubuntu 12.04 पर अच्छा काम किया। धन्यवाद।
डेविड

10

इसके लिए, आपके पास आपके सिस्टम पर स्थापित jdk के दोनों संस्करण होने चाहिए। आप दोनों को डाउनलोड करने के लिए apt-get का उपयोग कर सकते हैं।

उसके बाद प्रयास करें,

$ sudo update-alternatives --config java

और उस jdk को चुनें जिसे आप उपयोग करना चाहते हैं।

Openjdk कभी-कभी कुछ अनुप्रयोगों के लिए प्रतिकूल होता है।

आपको ओरल-जावा या सन-जावा के लिए भी प्रयास करना चाहिए।

इस उद्देश्य के लिए नीचे दिया गया लिंक बहुत उपयोगी है:

http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html


3

OpenJDK 7 सामान्य ubuntu repos 11.10 में है, यदि आप openjdk-7-jre और openjdk-7-jdk की तलाश करते हैं और उन्हें apt-get / synaptic / software का उपयोग करके इंस्टॉल करते हैं, तो उन्हें Openjdk-6 को बदलना चाहिए, यदि यह नहीं होता है आप पहले का उपयोग करके Openjdk-6- * संकुल को निकाल सकते हैं apt-get purge openjdk-6-*


1
Openjdk-7- * पैकेज को ओपनडेक -6 के साथ साइड-बाय-साइड स्थापित किया जाना प्रतीत होता है । और अगर मैं ओपनजडेक -6 को हटाने की कोशिश करता हूं , तो आश्रित के रूप में हटाए जाने वाले टन के पैकेज हैं (इस तथ्य के बावजूद कि मैं जानता हूं कि उन अनुप्रयोगों में से कुछ जावा 7 के साथ पूरी तरह से काम करते हैं)।
इवान

जाहिरा तौर पर default-jreअभी भी जावा 6 को इंगित करता है
थोरबजर्न रेवन एंडरसन

2

रेपो यहां पाया जा सकता है: https://launchpad.net/~openjdk/+archive/ppa

या:

sudo apt-add-repository ppa:openjdk/ppa
sudo apt-get update
sudo apt-get upgrade

यह मानते हुए कि आपके पास OpenJDK स्थापित है


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