मैक ओएस एक्स पर जावा कहां स्थापित है?


726

मैंने अभी मैक ओएस 10.7.5 पर जावा 7u17 को यहाँ से डाउनलोड किया और फिर इसे सफलतापूर्वक स्थापित किया। कुछ जेएनआई प्रोग्रामिंग करने के लिए, मुझे यह जानना होगा कि मेरे मैक पर जावा कहाँ स्थापित है।

मैंने सोचा था कि /Library/Java/JavaVirtualMachines/फ़ोल्डर के अंदर , एक फ़ोल्डर होगा जिसे 1.7.0.jdkकुछ कहा जाएगा , लेकिन फिर मैंने पाया कि फ़ोल्डर खाली है। ls /Library/Java/JavaVirtualMachines/टर्मिनल में चलाकर इसकी पुष्टि की गई । मैंने इसे खोजने की कोशिश की है कि क्या यह कहीं और स्थापित किया गया है, लेकिन यह कुछ भी नहीं दिखता है।

क्या कोई मुझे बता सकता है कि मेरे मैक पर जावा कहाँ स्थापित है?


जवाबों:


1384

/usr/libexec/java_home -v 1.8एक टर्मिनल शेल पर कमांड का उपयोग यह पता लगाने के लिए करें कि आपका जावा 1.8 होम डायरेक्टरी कहां है

यदि आप अभी जावा के अपने सबसे हालिया संस्करण की होम डायरेक्टरी का पता लगाना चाहते हैं, तो संस्करण को छोड़ दें। जैसे/usr/libexec/java_home


मुझे यह सवाल मिला क्योंकि मुझे अपने मैक पर ग्रहण में एक त्रुटि मिल रही थी क्योंकि मुझे "java.util आयात। *" कार्यक्रम की पहली पंक्ति में एक त्रुटि मिल रही थी। मुझे दृढ़ता से संदेह है क्योंकि जावा पथ सही या कुछ सेट नहीं है (भले ही मैंने इसे एक बार पहले सेट किया हो)। मैंने इस उत्तर में कमांड दर्ज किया और मुझे एक निर्देशिका मिली। क्या मैं उस निर्देशिका को "नेटिव लाइब्रेरी फोल्डर कॉन्फिगरेशन" विंडो में टेक्स्टबॉक्स में पेस्ट कर सकता हूँ? या यह निर्देशिका कहीं और से संबंधित है?
OKGimmeMoney

47
जोड़ा export JAVA_HOME=`/usr/libexec/java_home`गया .bash_profile इसलिए JAVA_HOME हमेशा सेट रहता है (लिबासेक कमांड के चारों ओर बैक-टिक्स पर ध्यान दें)
स्टीव

यदि आप बस यह जानना चाहते हैं कि क्या JDK आपके मैक पर स्थापित है, तो संस्करण संख्या को छोड़ दें और टर्मिनल से चलाएं: $ echo $ (/ usr / libexec / java_home)
Donato

3
मैक 10.12.3 पर, हमें /usr/libexec/java_home -- vजावा का सबसे हालिया संस्करण
klion26

116

आप echo $(/usr/libexec/java_home)अपने टर्मिनल में कमांड का उपयोग उस पथ को जानने के लिए कर सकते हैं जहां जावा स्थापित किया जा रहा है।


7
मुझे यह समाधान स्वीकार किए गए उत्तर से बेहतर लगता है क्योंकि यह स्थापित जेवीएम के संस्करण से स्वतंत्र है।
अलेक्जेंड्रे सैंटोस

1
यह ओरेकल द्वारा स्थापित मेरा जावा 8 संस्करण नहीं मिला।
एंटोनी लिज़े

13
आपके पास echo $(...)वहाँ क्यों है ? सिर्फ /usr/libexec/java_homeवही नहीं करता है ?
पाओलो एबरमन

1
स्वीकृत उत्तर मेरे काम नहीं आया लेकिन यह काम कर गया! (मैं आम तौर पर एक मैक / यूनिक्स उपयोगकर्ता नहीं हूं)
रोएल

@ Pa @loEbermann यह मेरे लिए डोलर साइन और कोष्ठक के बिना काम नहीं करता है।
निकोला स्टोजाकोविक्व

80

यह बताता है कि मैंने वास्तव में जावा 7 जेआरई स्थापित किया था, न कि जेडीके। सही डाउनलोड लिंक यहाँ है । इसे स्थापित करने के बाद, jdk1.7.0jdkJavaVirtualMachines निर्देशिका में दिखाई देता है।


49
मेरे लिए, यह तहत किया गया था /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk(यह जानकर मार्ग है कि JDK 1.6 के लिए: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/)
ज़कारिया

बहुत बहुत धन्यवाद! मैंने ध्यान नहीं दिया कि मैंने JRE को xD
Oliver Ni

1
निर्यात JAVA_HOME = $ (/ usr / libexec / java_home) ~ पर
.bash_profile

35

यदि आप सिर्फ JRE स्थापित करते हैं, तो ऐसा लगता है:

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

1
आपको इस मौजूदा पर भरोसा नहीं करना चाहिए। यदि आपको JRE की आवश्यकता है, तो अपने स्वयं के एप्लिकेशन के अंदर बंडल करें।
झूला

स्पेस कैरेक्टर वाले पथ के साथ JAVA_HOME सेट करना चुनौतीपूर्ण है! मैं सफल नहीं हुआ ...
एंटोनी रोसेट

आप कहीं न कहीं इस निर्देशिका का लिंक बना सकते हैं और JAVA_HOME को उस लिंक पर सेट कर सकते हैं
Kuba

यह वह जगह है जहां "जावा" सिस्टम वरीयता पैनल इसे स्थापित करने के लिए लगता है।
डेविड एवेंदासोरा

2
@AntoineRosset, आप इसे इस तरह सेट कर सकते हैं:export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
कोडा

24

जावा स्थापित करने के लिए यूनिक्स फाइंड फंक्शन का उपयोग करें ...

sudo find / -name java

19
आम तौर पर सुलभ आदेशों के लिए आपको sudo को चलाने की आवश्यकता नहीं है। यदि आप दुर्गम निर्देशिकाओं के बारे में त्रुटि संदेश नहीं देखना चाहते हैं, तो अनावश्यक रूप से रूट निजी का उपयोग करने के बजाय संदेशों से छुटकारा पाएं। हर समय सुडो का उपयोग करना एक बुरी आदत है। इस तरह से / dev / null को पुनर्निर्देशित stderr: / / -नाम java 2> / dev / null
वाल्टर अंडरवुड

1
यदि मुझे दुर्गम निर्देशिकाओं के तहत भी देखने की आवश्यकता हो तो मुझे क्या करना चाहिए?
सेरकन

2
वाल्टर का कहना है कि javaबाइनरी दुनिया पठनीय होगी, इसलिए sudoयह आवश्यक नहीं है। आपका उत्तर अभी भी उपयोगी है :)
जारेड बेक

हाँ, मैं सिर्फ इस इस्तेमाल किया src.zip (जावा JDK के स्रोत कोड) को खोजने के लिए
Dinis Cruz

निर्यात JAVA_HOME = $ (/ usr / libexec / java_home) ~ पर
.bash_profile

22

यह कोशिश करो, यह मैक ओएस एक्स में जावा स्थापित पथ खोजने का आसान तरीका है,

के लिए जाओ

1) / लाइब्रेरी यानी मैकिंटोश एचडी / लाइब्रेरी

यहां छवि विवरण दर्ज करें

2) लाइब्रेरी में क्लिक करें जिसमें हमें जावा फ़ोल्डर मिल जाए।

यहां छवि विवरण दर्ज करें

3) तो अंतिम रास्ता है

/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home

आशा है कि यह किसी के लिए मदद है।


1
बहुत मददगार जब आपको एक आईडीई से स्पष्ट रूप से जेडीके को इंगित करना होगा। धन्यवाद
Shwetabh शेखर

मैं कितना सघन हूँ? मेरे टर्मिनल का कहना है कि मेरे पास / लाइब्रेरी / जावा / JavaVirtualMachines / में 2 jdk स्थापित है / लेकिन मैं उन्हें ढूंढ नहीं पा रहा हूं जब मैं खोजक में उस निर्देशिका पर नेविगेट करता हूं ... मुझे कितना घना मिल सकता है ...
SoftwareSavant

@SoftwareSavant, कृपया stackoverflow.com/a/14875241 उत्तर दें, यह आपकी मदद कर सकता है।
जयवंत खेडकर

19

मैक ओएस की जावा पैकेज संरचना विंडोज से थोड़ी अलग है। एक डेवलपर के रूप में इसके लिए परेशान होने की जरूरत नहीं है PATHऔर बस सेट करने की जरूरत है JAVA_HOME

तो .bash_profileसेट में JAVA_HOMEऔर PATHनीचे के रूप में। यह उदाहरण जावा 6 के लिए है:

export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
export PATH=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin:$PATH

12
यह सब कुछ रास्ते से हटा देता है? ऐसा केवल तभी करें जब आप केवल जावा का उपयोग कर रहे हों और आपके सिस्टम में कुछ और न हो।
पाओलो एबरमैन

एक्सपोर्ट JAVA_HOME = $ (/ usr / libexec / java_home) ~ / .bash-profile पर।
ओलेक्सी किस्लीत्सिन

17

यदि आप टाइप करते हैं

java -verbose 

यह उस स्थान को भी देता है जहां से जार लोड होते हैं और इसलिए जावा पथ भी।


मैंने ~ / .bash_profile पर निर्यात JAVA_HOME = $ (/ usr / libexec / java_home) जोड़ा।
ओलेक्सी किस्लीत्सिन

8

संपादित: उपनाम से वर्तमान जावा संस्करण है /Library/Java/Home

अधिक जानकारी के लिए: एक लिंक


यह सबसे हाल के संस्करण के लिए एक उपनाम होगा, जो एक बार स्थापित होने के बाद जावा 7 एसडीके को सही ढंग से इंगित करेगा।
थंडरफेज करें

1
यह लिंक केवल विरासत उद्देश्यों के लिए मौजूद है, और जावा 7 को स्थापित करके अपडेट नहीं किया जाएगा। इस पथ का उपयोग न करें।
झूलेलाल

मैंने एक्सपोर्ट JAVA_HOME = $ (/ usr / libexec / java_home) को ~ / .bash_profile पर अपडेट किया।
ओलेक्सी किस्लीत्सिन

8

सिर्फ /Library/Java/JavaVirtualMachines/
गो टू फोल्डर में लिखें -> फाइंडर में जाएं


ठीक है, मैंने बस यह कोशिश की और मैं निर्देशिका में नेविगेट करने में कामयाब रहा। मैं सामान्य रूप से फाइंडर में उस फ़ोल्डर में क्यों नहीं जा सकता? क्या यह सिर्फ Apple अतिरिक्त कष्टप्रद है ... अतिरिक्त कष्टप्रद, ग्रेडल संस्करण 4.3 जावा के किसी भी संस्करण के साथ जावा 8 को छोड़कर काम नहीं करता है
SoftwareSavant

निर्यात JAVA_HOME = $ (/ usr / libexec / java_home) पर ~
.bash_profile

6

मैंने सिर्फ जावा एसई 7 के संस्करण 21 के लिए जेडीके स्थापित किया है और पाया है कि यह ऐप्पल के जावा 6 से एक अलग निर्देशिका में स्थापित है। यह / लाइब्रेरी / जावा में है ... बल्कि / सिस्टम / लाइब्रेरी / जावा में ... । चल रहा है / usr / libexec / java_home -v 1.7 बनाम -v 1.6 यह पुष्टि करेगा।


निर्यात JAVA_HOME = $ (/ usr / libexec / java_home) पर ~
.bash_profile

6

मैंने सेरकन के समाधान की कोशिश की, यह ओएस एक्स मावरिक्स पर जावा 7 का स्थान पाया। इसमें निवास किया गया है, "/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/" लेकिन इसे डिफ़ॉल्ट JDK बनाने के लिए मुझे घर निर्देशिका में JAVA_HOME सिस्टम वैरिएबल .bash_profile सेट करना पड़ा "/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/" ताकि इसके अप और रनिंग अब सेरकन के विचार के लिए धन्यवाद।


एक्सपोर्ट JAVA_HOME = $ (/ usr / libexec / java_home) ~ / .bash-profile पर।
ओलेक्सी क्रिस्लेटिन

5

के लिये :

  • OS X: 10.11.6

  • जावा: 8

मैं @ मॉरी के उत्तर की पुष्टि करता हूं।

   export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home;

लेकिन अगर आप कंटेनर चला रहे हैं तो आपका जीवन आसान हो जाएगा


2
मुझे लगता है कि यह एक टिप्पणी होनी चाहिए थी।
थंडरफोर्ज

1
मुझे नहीं लगता, क्योंकि एक जोड़ा मूल्य है जो `एक्सपोर्ट JAVA_HOME =` है। ... आपके बारे में क्या है
@Thunderforge

एक्सपोर्ट JAVA_HOME = $ (/ usr / libexec / java_home) ~ / .bash-profile पर।
Oleksii Kyslytsyn


-1

सिस्टम वरीयताएँ तब जावा नियंत्रण कक्ष तब जावा तब दृश्य वर्तमान में स्थापित डिफ़ॉल्ट JRE का सटीक स्थान दिखाएगा।


निर्यात JAVA_HOME = $ (/ usr / libexec / java_home) पर ~
.bash_profile
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.