अद्यतन-जावा-विकल्प बनाम अद्यतन-विकल्प --config जावा


96

उबंटू 12.04 एलटीएस पर मैंने सन का जेडडीके 7, एक्लिप्स और अरुडिनो आईडीई स्थापित किया है। मैं चाहता हूं कि Arduino OpenJDK 6 का उपयोग करें और सूर्य के JDK 7 का उपयोग करने के लिए ग्रहण करना चाहते हैं।

मेरी समझ से मुझे मैन्युअल रूप से प्रत्येक एप्लिकेशन को चलाने से पहले जावा का उपयोग करने की आवश्यकता है। इसने मुझे update-java-alternatives -lआज्ञा दी। जब मैं इसे चलाता हूं तो मैं केवल निम्नलिखित देखता हूं:

java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64

लेकिन जब मैं दौड़ता update-alternatives --config javaहूं तो मुझे निम्नलिखित दिखाई देते हैं:

*0  /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   auto mode
1  /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   manual mode
2  /usr/lib/jvm/jdk1.7.0/bin/java                   manual mode
3  /usr/lib/jvm/jre1.7.0/bin/java                   manual mode

मुझे समझ नहीं आता कि update-java-alternativesवही 3 विकल्प क्यों प्रदर्शित नहीं होते हैं। मैं यह भी नहीं समझता कि OpenJDK6 और JDK7 के बीच कैसे स्विच किया जाए। मैं Arduino विकास के लिए OpenJDK6 और ग्रहण / Android विकास के लिए Sun JDK7 का उपयोग करने के बारे में कैसे जा सकता हूं?

जवाबों:


126

sudo update-alternatives --config java

प्रोग्राम "जावा" के लिए डिफ़ॉल्ट को कॉन्फ़िगर करता है। वह जावा वीएम है।

sudo update-alternatives --config javac

डिफ़ॉल्ट जावा कंपाइलर को कॉन्फ़िगर करता है।

आप यह भी देख सकते हैं, क्योंकि पहले कमांड बहुत सारे "JRE" (जावा रनटाइम एनवायरनमेंट) फ़ोल्डरों को सूचीबद्ध करता है और प्रोग्राम को सिर्फ "जावा" कहा जाता है।

यदि मैं जांच करता हूं कि कमांड जारी करके किस संस्करण का उपयोग किया जा रहा है java -version या javac -version, मैं देख सकता हूं, कि प्रत्येक कमांड उपयोग किए जा रहे प्रोग्राम को बदल देता है।

हालाँकि, update-java-alternativesJDK संस्करण के साथ प्रयोग करने से मेरे लिए दोनों प्रोग्राम बदल जाते हैं । पहले कमांड का उपयोग करते हुए, आप अलग-अलग JDK से जावा वीएम और जावा कंपाइलर का उपयोग कर सकते हैं।

अपडेट-जावा-विकल्प के लिए डायरेक्टरी / usr / lib / jvm में .jinfo के साथ फाइल की उपस्थिति की आवश्यकता होती है। Opendjk पैकेज को .jinfo फ़ाइल के साथ शिप किया जाता है, Oracle (पूर्व में सन) का jdk नहीं है। विकल्प के रूप में, आप अपडेट-जावा-विकल्प के बिना विकल्पों को कॉन्फ़िगर करते हैं :

उदाहरण के लिए, jvm-directory /usr/lib/jvm/jdk-12.0.1 ( Oracle के डेबियन पैकेज की डिफ़ॉल्ट निर्देशिका ) से जावा को जोड़ने के लिए प्राथमिकता 2082 के साथ, निम्न कमांड का उपयोग करें:

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-12.0.1/bin/java 2082

विभिन्न विकास परिवेशों के लिए स्विचिंग के लिए:

क्या आप आईडीई को विभिन्न जावा संस्करणों के साथ शुरू करने या संकलन के लिए आईडीई में विभिन्न संस्करणों का उपयोग करने और अपने ऐप को चलाने के बारे में बात कर रहे हैं ?

1 के लिए।: आप यहाँ बताए अनुसार ग्रहण करने के लिए जेवीएम का उपयोग कर सकते हैं । मुझे नहीं पता कि अरुडिनो आईडीई के लिए यह कैसे करना है।

2 के लिए: ग्रहण में आप JRE / JDK का उपयोग विंडो में करने के लिए कर सकते हैं -> प्राथमिकताएँ -> जावा -> स्थापित JREs। और जावा के तहत -> संकलक आप चाहें तो एक पुराने जावा अनुपालन का चयन कर सकते हैं।

EDIT: इस DigitalOcean पेज में भी उबंटू के जावा से संबंधित हर चीज की बहुत अच्छी व्याख्या है।


15

update-java-alternativesjre/jdkप्रतिष्ठानों के लिए विकल्प को अद्यतन करने के लिए एक कार्यक्रम है ।

update-alternatives लिनक्स के लिए एक प्रतीकात्मक लिंक प्रबंधन प्रणाली है (मुझे यकीन है कि यहाँ बहुत कम खबर है)।

आप कर सकते हैं, और वास्तव में, दोनों update-java-alternativesका update-alternativesएक साथ उपयोग करना चाहिए ।

सबसे पहले, सुनिश्चित करें कि सभी विकल्पों को सही ढंग से कॉन्फ़िगर किया गया है। जावा और जेवैक लेकिन कुछ ही हैं। नहीं है javadoc, rmic, serialverऔर दूसरों को, के लिए ऊपर चर प्रतिस्थापन: native2asciiऔर /opt/jdk1.8.0_40/bin/native2asciiरिपोर्ट करना चाहिए अगर विकल्प स्थापित और / या चयनित है।

जब सभी विकल्प कॉन्फ़िगर किए जाते हैं तब आप /usr/lib/jvmअपने मैन्युअल इंस्टालेशन में लिंक बना सकते हैं ।

कॉन्फ़िगर करने के लिए update-java-alternativesआपको अपनी निर्देशिका के रूप में एक ही नाम के साथ एक छिपी हुई फ़ाइल का उपयोग करना चाहिए लेकिन एक द्वारा उपसर्ग। (डॉट)।

उम्मीद है की यह मदद करेगा।

ग्रन्थसूची

man -S 8 update-java-alternatives

http://tech.lanesnotes.com/2008/03/using-alternatives-in-linux-to-use.html

https://stackoverflow.com/questions/6477415/how-to-set-oracles-java-as-the-default-java-in-ubuntu

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