OS X और JAVA_HOME स्थान पर एकाधिक जावा संस्करण समर्थन करते हैं


12

मुझे पता है कि ओएस एक्स पर जावा के कई संस्करण होना संभव है लेकिन मुझे यह समझना मुश्किल है कि यह कैसे काम करता है।

मैंने माउंटेन लायन में अपग्रेड किया और अब echo $JAVA_HOMEखाली है।

हालाँकि में /System/Library/Frameworks/JavaVM.framework/Versions/

1.4     1.5     1.6     A       CurrentJDK
1.4.2   1.5.0   1.6.0   Current

जब मैं 1.4.2 में जाता हूं और मैं निष्पादित करता हूं java - versionया./java -version

जावा (TM) एसई रनटाइम एनवायरनमेंट (बिल्ड 1.6.0 _33-b03-424-11M3720)

तो क्यों उन सभी संस्करणों का उपयोग किया जाता है यदि उनके पास जावा का एक ही संस्करण है?

फिर मैंने Oracle से JDK 7 डाउनलोड किया और इसे स्थापित किया।

आमतौर पर एक नया JDK कहाँ स्थापित किया जाता है?

और अंतिम प्रश्न: मैं कैसे चुन सकता हूं कि सभी अनुप्रयोगों द्वारा डिफ़ॉल्ट रूप से कौन सा संस्करण चलना चाहिए?

विन में। मैं पथ में रखा: मैं करने के JAVA_HOMEलिए सेट और यह बात है।C:/ProgramFiles/Java/.…JAVA_HOME/bin


1
शायद ब्याज के बाद से ओरेकल हाल ही में जावा एपलेट प्लग-इन अकेले (भ्रामक!) का वर्णन करने के लिए जेआरई शब्द का उपयोग करता है। और चूंकि OS X के उपयोगकर्ता अब दो अलग-अलग संस्करणों का उपयोग कर सकते हैं (प्लग-इन के लिए एक संस्करण, उन ऐप्स के लिए एक अलग संस्करण जो प्लग-इन का उपयोग नहीं करते हैं): माउंटेन शेर पर विभिन्न जावा संस्करणों का सर्वोत्तम प्रबंधन कैसे करें?
ग्राहम पेरिन

जवाबों:


3

/System/Library/Frameworks/JavaVM.framework/Versions की सामग्री

अधिकांश उपयोग के मामलों के लिए, JDK CurrentJDKके वर्तमान और पिछले संस्करणों की कार्यक्षमता प्रदान करनी चाहिए ।

सभी पिछले संस्करण नहीं, लेकिन सबसे अधिक आवश्यक संस्करण:

sh-3.2$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.8
BuildVersion:   12A269
sh-3.2$ ls -l /System/Library/Frameworks/JavaVM.framework/Versions
total 64
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.4 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.4.2 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.5 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.5.0 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.6 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.6.0 -> CurrentJDK
drwxr-xr-x  8 root  wheel  272 17 Jul 07:48 A
lrwxr-xr-x  1 root  wheel    1 17 Jul 07:47 Current -> A
lrwxr-xr-x  1 root  wheel   59 17 Jul 07:47 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
sh-3.2$ 

14

जावा के एक संस्करण का जिक्र

सामान्य तरीके से जावा प्राथमिकता का उपयोग करें।

एप्पल के जावा के वितरण के अलावा आपने जो कुछ भी स्थापित किया है, उसके आधार पर, उपयोगिता का पहला टैब थोड़ा अलग दिखाई दे सकता है।

एक उदाहरण, एप्लेट्स और जावा वेब स्टार्ट के लिए परिचित विकल्पों के बिना :

जावा प्राथमिकता का स्क्रीनशॉट

कमांड लाइन स्तर पर यह कैसे काम करता है, इसके बारे में कुछ पृष्ठभूमि पढ़ने के लिए है। कमांड लाइन टूल java_home इस वरीयता सेटिंग को वापस रिपोर्ट करता है ।

$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/1.6.0_33-b03-424.jdk/Contents/Home

/ Usr / bin / जावा प्लेसहोल्डर अनुप्रयोग इन सेटिंग्स के उपयोग जावा का पसंदीदा संस्करण चलाने बनाता है।

$ which java
/usr/bin/java

$ java -version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-11M3720)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)

अंत में जब टॉमकैट या मावेन के लिए एक लॉन्च स्क्रिप्ट में JAVA_HOME को कॉन्फ़िगर करना आप प्राथमिकता प्रणाली में हुक कर सकते हैं:

export JAVA_HOME=`/usr/libexec/java_home`

उत्तर कहीं और ध्यान दें कि जावा को कई रास्तों पर स्थापित किया जा सकता है - 

  • / सिस्टम / पुस्तकालय / जावा / JavaVirtualMachines
  • / पुस्तकालय / जावा / JavaVirtualMachines
  • ~ / Library / जावा / JavaVirtualMachines

- लेकिन वर्तमान में यहां प्रश्न में वर्णित क्या है, माउंटेन शेर पर ओरेकल से जेडीके, केवल एक ही मार्ग की संभावना है


सामुदायिक संपादन के लिए धन्यवाद, क्या पृष्ठभूमि पढ़ने के लिए एक अलग लिंक होना चाहिए?
ग्राहम पेरिन

2
जावा प्राथमिकताएं अब समर्थित नहीं हैं और जब जावा 2012-006 अपडेट लागू होता है तो वास्तव में हटा दिया जाता है । यह जावा को प्रदान करने और समर्थन करने से दूर Apple के कदम का हिस्सा है।
ब्रायनह

@BryanH धन्यवाद - यह जवाब ओएस एक्स 2012-006 के लिए जावा से कुछ महीने पहले दिया गया था - जुड़ा हुआ प्रश्न देखें। कृपया यह भी ध्यान दें कि जब तक Apple JRE के वितरण से दूर चला जाता है , हमें यह नहीं मान लेना चाहिए कि Apple जावा का समर्थन करना बंद कर देगा ।
ग्राहम पेरिन

हाँ धन्यवाद। मुझे लगता है कि मुझे स्पष्ट करना चाहिए कि "समर्थन" का अर्थ है कि Apple अब OSX के लिए जावा वर्चुअल मशीन के बारे में तकनीकी सवालों का जवाब नहीं दे रहा है या इसका जवाब नहीं दे रहा है। यह जेवीएम को लिखने और बनाए रखने के लिए ओरेकल (या किसी अन्य तीसरे पक्ष) पर निर्भर है।
ब्रायनह

5

चूंकि मैक ओएस एक्स 10.8.2 बिल्ड 12C60 जावा प्राथमिकताएं पुराने संस्करणों को नहीं दिखाती हैं।


3

जेडीके की स्थापना के लिए उपयोग किए गए पथ

चलाएँ:

ls -l /Library/Java/JavaVirtualMachines

अन्य रास्तों का उपयोग किया जा सकता है, लेकिन माउंटेन लायन के लिए स्थापित Oracle से वर्तमान JDK के लिए, आपको संभवतः .jdkउस पथ पर बंडल मिल जाएगा ।

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