डिफ़ॉल्ट जावा संस्करण कैसे सेट करें?

मैंने इस पर बताए गए सभी निर्देशों का पालन किया प्रश्न, लेकिन इसके अंतिम भाग के साथ कुछ समस्याओं का सामना कर रहा हूं ।

मेरे पास वास्तव में जावा का संस्करण 6.22 है और मैं संस्करण 6.30 में अपडेट करना चाहूंगा ।

तो निकाले गए निर्देशिका को स्थानांतरित करने के बाद java-6-oracle में /usr/lib/jvm मुझे नहीं पता कि क्या करना है, क्योंकि जावा 5 से जावा 6 तक के अपडेट के ऊपर दिए गए उत्तर में बताई गई स्क्रिप्ट ।

स्पष्टता के लिए यहाँ आउटपुट है अगर मैं एक करता हूँ ls डीआईआर में /usr/lib/jvm:

$ ls -l /usr/lib/jvmtotal 8 lrwxrwxrwx  1 root root   14 2011-07-12 15:18 default-java -> java-6-openjdklrwxrwxrwx  1 root root   14 2011-07-12 12:19 java-1.6.0-openjdk -> java-6-openjdk drwxr-xr-x 10 root root 4096 2012-04-12 12:06 java-6.31-oracle drwxr-xr-x  7 root root 4096 2012-02-24 14:43 java-6-openjdk

अब मुझे क्या करना चाहिए?


जोड़ा गया हिस्सा

@फॉसफ्रीडोम के सुझाव के तहत मैंने स्क्रिप्ट को वैसे भी चलाया और वास्तव में इसने जावा संस्करण को अपडेट किया ।

वास्तव में अगर मैं कमांड चलाता हूं java -version आउटपुट निम्नलिखित होगा:

$ java -versionjava version "1.6.0_31"Java(TM) SE Runtime Environment (build 1.6.0_31-b04)Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)

वहाँ है अभी भी एक समस्या है, अगर इरुन javac -version यह मुझे पुराना संस्करण स्थापित करता है:

$ javac -versionjavac 1.6.0_22

और अगर मैं इस पर परीक्षक का उपयोग करता हूं लिंक यह मुझे बताएगा कि संस्करण है

Java Version 1.6.0_22 from Sun Microsystems Inc.

क्या गलत हो रहा है?

ऐसा लगता है कि जावा रनटाइम पर्यावरण अपडेट हो गया है, लेकिन ब्राउज़र के लिए जावा कंपाइलर और जावा प्लगइन नहीं है ।

मैं उन्हें कैसे अपडेट कर सकता हूं?


अन्य जोड़ा हिस्सा

sudo update-alternatives --config java आउटपुट के बाद वापस आ जाएगा

$ sudo update-alternatives --config javaThere are 2 choices for the alternative java (providing /usr/bin/java).  Selection    Path                                      Priority   Status------------------------------------------------------------* 0            /usr/lib/jvm/java-6.31-oracle/bin/java     1062      auto mode  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode  2            /usr/lib/jvm/java-6.31-oracle/bin/java     1062      manual modePress enter to keep the current choice[*], or type selection number:

ये इस तथ्य से समझ में आता है कि जेआरई संस्करण 6.31 में सही ढंग से अपडेट किया गया है, मुद्दे जावा कंपाइलर और जावा ब्राउज़र प्लगइन पर हैं ।

कोई विचार?

आपका पहला सवाल फिर से:

संभवतः आप भ्रमित हो सकते हैं कि वेबअपडी 8 स्क्रिप्ट 0.5 बी है ।

जावैक संस्करण की सेटिंग के आगे ।

मुझे संदेह है कि आपको स्पष्ट रूप से जावैक कंपाइलर का रास्ता देने की आवश्यकता है

यानी

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-6.31-oracle/bin/javac" 1

इसके बाद:

sudo update-alternatives --config javac

जावा क्रोम प्लगइन स्थापित करने के संबंध में ।

मास्टर प्रश्न:

मैं ओरेकल जेडीके 6 कैसे स्थापित करूं?

यह जानकारी शामिल है - चूंकि आपकी फ़ोल्डर संरचना थोड़ी अलग है, इसलिए आपका लिंक कमांड होना चाहिए:

ln -s /usr/lib/jvm/java-6.31-oracle/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/

देखें इस; भागो

sudo  update-java-alternatives --list

नाम और निर्देशिका द्वारा मशीन पर सभी जावा इंस्टॉलेशन को सूचीबद्ध करने के लिए, और फिर चलाएं

sudo  update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]

यह चुनने के लिए कि कौन सा जेआरई/जेडीके उपयोग करना है ।

यदि आप प्रत्येक जावा कार्य के लिए विभिन्न जेडीके/जेआरई का उपयोग करना चाहते हैं, तो आप एक समय में एक जावा निष्पादन योग्य कॉन्फ़िगर करने के लिए अपडेट-विकल्प चला सकते हैं; आप चला सकते हैं

sudo  update-alternatives --config java[Tab]

जावा कमांड को देखने के लिए जिसे कॉन्फ़िगर किया जा सकता है (जावा, जावाएसी, जावा, जावा, आदि) । और फिर

sudo  update-alternatives --config [javac|java|javadoc|etc.]

उस जावा टास्क/कमांड को किसी विशेष जेडीके/जेआरई से जोड़ देगा ।

आपको कुछ अनुप्रयोगों के लिए जावा_होम सेट करने की भी आवश्यकता हो सकती है: से यह जवाब आप उपयोग कर सकते हैं

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

जेआरईएस के लिए, या

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")

जेडीकेएस के लिए ।

मैं आप पर एक नज़र रखना चाहिए लगता है update-java-alternatives से आदेश java-common पैकेज और *.jinfo इसके द्वारा उपयोग की जाने वाली फाइलें । इसके साथ आपको जावा इंस्टॉलेशन के बीच पूरी तरह से स्विच करने में सक्षम होना चाहिए (जेडीके, जेआरई, । ..).

उबंटू / लिनक्स पर आप जावा संस्करण का उपयोग करके स्विच कर सकते हैं

update-alternatives --config java

लेकिन इससे पहले, आपको संस्करण स्थापित करना होगा ।

आप इस स्क्रिप्ट का उपयोग कर सकते हैं (।/install-java.sh) कई जेवीएम स्थापित करने के लिए

#!/bin/sh(lookforJdks=$PWDecho "Directory: $lookforJdks"jdks=`test -e ./javac || find $lookforJdks -type d -iname '*jdk1.*' 2> /dev/null`#set -eecho 'which jdk do you want to choose? looking for jdks. This might take a while'echo "$jdks" | awk '{printf("%5d : %s\n", NR,$0)}'read choosetest -e ./javac || cd `echo "$jdks" | tr '\n' ',' | cut -d',' -f $choose`/binfor e in appletviewer extcheck idlj jar jarsigner java javac javadoc javah javap jconsole \ jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic \ schemagen serialver wsgen wsimport xjc jvisualvm jmc; do sudo update-alternatives \ --install /usr/bin/$e $e $(readlink -f ./$e) 100; done)echo "RUN update-alternatives --config java"

इस स्क्रिप्ट को फ़ोल्डर में रखें जहां जेवीएम(ओं) को अनपैक किया गया है, और चलाएं:

/opt/install-java.sh

अगला उपयोग:

update-alternatives --config java

यदि आप जावाएसी जावा जावाडोक या किसी अन्य जावा संबंधित कमांड के लिए मैन्युअल रूप से सेट विकल्प जा रहे हैं, तो आप उन्हें जावा अल्टेनेटिव के दास बनाना चाह सकते हैं ।

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.8.0_74/bin/java" 0 --slave "/usr/bin/javadoc" "javadoc" "/opt/jdk1.8.0_74/bin/javadoc"update-alternatives: updating alternative /opt/jdk1.8.0_74/bin/java because link group java has changed slave links:/opt/jdk1.8.0_74$ sudo update-alternatives --display java

जावा-ऑटो मोड लिंक सबसे अच्छा संस्करण है /ऑप्ट/जेडीके 1.8.0_74 / बिन / जावा लिंक वर्तमान में इंगित करता है / ऑप्ट / जेडीके 1.8.0_74/बिन / जावा लिंक जावा आईएस / यूएसआर / बिन / जावा स्लेव जावाडोक आईएस /यूएसआर/बिन/जावाडोक/ऑप्ट/जेडीके 1.8.0_74 / बिन / जावा-प्राथमिकता 0 स्लेव जावाडोक: / ऑप्ट / जेडीके 1.8.0_74 / बिन / जावाडोक

बदलें/ऑप्ट/ जेडीके 1.8.0_74 / डीआईआर के साथ जहां आपका जेडीके स्थापित है ।

खुला हुआ /etc/environment किसी भी अपने पाठ संपादक में और निम्न पंक्ति जोड़ें:

JAVA_HOME="usr/lib/jvm/open-jdk 

- जावा पथ अलग हो सकता है ।
इस कमांड को चलाकर चर लोड करने के लिए स्रोत का उपयोग करें:

source /etc/environment

फिर इस कमांड को चलाकर वेरिएबल की जांच करें:

echo $JAVA_HOME

इस पथ सेट के साथ, इस कमांड को चलाएं:

sudo  update-java-alternatives --list

अपना डिफ़ॉल्ट जावा संस्करण चुनें।

यदि आपको आवश्यकता है, उदाहरण के लिए, स्वचालित रूप से जावा 8 (कंपाइलर 1.8) पर स्विच करने के लिए, एक-लाइनर में, उदाहरण के लिए स्क्रिप्ट या निरंतर एकीकरण परीक्षण सूट के लिए, आप चला सकते हैं

sudo update-java-alternatives -s $(sudo update-java-alternatives -l | grep 8 | cut -d " " -f1) || echo '.'

यह स्वचालित रूप से उपलब्ध किसी भी जावा 8 संस्करण को प्राप्त करेगा और कमांड का उपयोग करके इसे सेट करेगा update-java-alternatives.

|| echo '.' अंत में बस यह सुनिश्चित करता है कि कमांड सफलता देता है, क्योंकि अजीब तरह से update-java-alternatives डिफ़ॉल्ट रिटर्न त्रुटि (1) द्वारा । यदि आपको टेस्ट सूट के लिए इसकी आवश्यकता नहीं है तो आप इसे छोड़ सकते हैं ।

यदि आप किसी अन्य संस्करण पर स्विच करना चाहते हैं तो बस बदलें 8 उस संस्करण द्वारा जिसे आप पिछले कमांड में चाहते हैं ।

हम्म-संभवतः आप भ्रमित हो सकते हैं कि वेबअपडी 8 स्क्रिप्ट 0.5 बी है? यह स्क्रिप्ट का संस्करण है - यह जावा संस्करण को संदर्भित नहीं करता है । इसे आज़माएं। जब आप स्क्रिप्ट चलाते हैं तो विंडो कैसी दिखती है, इसका स्क्रीनशॉट देखें ।

फॉसफ्रीडोम मैंने इसकी कोशिश नहीं की है क्योंकि मुझे लगा कि यह एक अच्छा विचार नहीं था कि यह जावा 5 से 6 तक अपलोड करने के लिए स्पष्ट रूप से लिखा गया है, क्या मुझे वैसे भी चाहिए?

@ फॉसफ्रीडम हाँ जिसने मुझे पूरी तरह से भ्रमित कर दिया; डी मैंने स्क्रिप्ट चलाई! प्रश्न में संपादन की जाँच करें!मेरी मदद करने के लिए बहुत कुछ करता है । .

कितना अजीब है ।… कभी इसका सामना नहीं किया । वैसे भी - नीचे दिए गए उत्तर को देखें-आपको उदाहरण के अनुसार सुडो अपडेट-विकल्प करने में सक्षम होना चाहिए ।

@ फॉसफ्रीडोम ने फिर से सवाल अपडेट किया!

आइए [चैट में इस चर्चा को जारी रखें] (Discussion between Matteo and fossfreedom | chat.stackexchange.com)

‘जावा-संस्करण’ जेडीके के लिए है जबकि ‘जावा-संस्करण’ जेआरई के लिए है

@ मैटेओ-उत्तर अपडेट किया गया - आपको प्लगइन इंस्टॉलेशन निर्देशों का पालन करना होगा java - How do I install Oracle JDK 6? - Ask Ubuntu

@ आशु-जावैक-संस्करण जावाकंपलर और जावा है-संस्करण जेआरई के लिए है (मुझे लगता है)