OS X 10.9 (Mavericks) पर जावा इंस्टॉल करना


321

मैंने मैक ओएस एक्स v10.8 (माउंटेन लायन) पर JDK स्थापित किया है । जब मैंने इसे Mac OS X v10.9 (Mavericks) में अपग्रेड किया और टर्मिनल में चलाया , तो यह दिखाया गया:java -version

कोई जावा रनटाइम मौजूद नहीं है, इंस्टॉल का अनुरोध करें।

फिर मैंने अपने मैक पर JDK (1.7) को मैन्युअल रूप से स्थापित किया। ऐसा लगता है कि स्थापना ने ठीक काम किया। जब स्थापना हो गई थी, मैंने टर्मिनल खोला और java -versionसाथ ही टाइप किया। इसमें भी वही त्रुटि दिखाई गई:

कोई जावा रनटाइम मौजूद नहीं है, इंस्टॉल का अनुरोध करें।

इस समस्या का समाधान किस प्रकार से किया जा सकता है?


1
मुझे नहीं पता कि टर्मिनल में क्या समस्या है, लेकिन मैं ग्रहण करता हूं और सभी परियोजनाएं मावेरिक्स में ठीक संकलन कर रही हैं
सनी

1
ऐसा लगता है कि पुराना जावा लॉन्चर केवल jdk 1.6 को सपोर्ट करता है, लेकिन mavericks में डिफ़ॉल्ट रूप से 1.6 इंस्टॉल नहीं है।
शॉन

1
आपने जावा 6 को स्थापित किया है, न कि जावा 7 को ओपी के रूप में मूल रूप से निहित है जिसकी उन्हें आवश्यकता है। मुझे इस बात में दिलचस्पी है कि उस समाधान तक कैसे पहुंचा जाता है। इसके अलावा यहां एक 'वैकल्पिक' प्रकार का दृष्टिकोण होना चाहिए जो सीधे टर्मिनल से प्रतिक्रिया को संबोधित करता है।
रोंडो

4
यह जावा 6 के लिए बहुत अच्छा है, लेकिन आप जावा 7 को कैसे काम कर सकते हैं?
190290000 रूबल मैन ऑक्ट

2
जावा 7 JRE को स्थापित करने और टर्मिनल में काम करने के लिए एक संभावित उत्तर मिला: stackoverflow.com/a/19582689/346286
एनालॉग

जवाबों:


279

नए Mavericks (10.9) ने मुझे "रिक्वेस्ट इंस्टॉल" दिखाया, लेकिन ऐसा कुछ नहीं हुआ।

इसका समाधान ओएस एक्स के लिए आधिकारिक जावा पैकेज को मैन्युअल रूप से डाउनलोड और इंस्टॉल करना था, जो अंदर है ओएस एक्स 2013-005 के लिए जावा

अद्यतन: जैसा कि नीचे टिप्पणी में कहा गया है, इस पैकेज का एक नया संस्करण है:

ओएस एक्स 2014-001 के लिए जावा

OS के लिए OS X 2014-001 (ऊपर दी गई डेड लाइन को सही करना)

ओएस एक्स 2014-001 के लिए जावा में इंस्टॉलेशन सुधार शामिल हैं, और ओएस एक्स के लिए जावा के पिछले सभी संस्करणों को शामिल किया गया है। यह पैकेज जावा 6 के उसी संस्करण को ओएस एक्स 2013-005 के लिए जावा में शामिल करता है।


मेरे लिए भी ऐसा। एक अन्य विकल्प ओरेकल से जावा को स्थापित करना है। आप लोगों को कौन सा बेहतर लगता है? ऐसा लगता है कि Oracle, Apple की तुलना में अधिक तेज़ी से अपडेट हुआ है।
Ngoc Pham

2
लेकिन यह आपको JDK 6 देता है। हम सीधे JDK 6 का उपयोग कैसे कर सकते हैं?
शॉन

2
@ शॉन Apple ने पहले से ही स्थापित JDK 7 को निष्क्रिय कर दिया है। लेकिन आप कुछ FAQ प्राप्त कर सकते हैं और यहां से इंस्टॉल कर सकते हैं: java.com/en/download/faq/java_mac.xml लेकिन मैंने इसे आज़माया नहीं था।
गाय

यदि आपने java6 और java7 दोनों स्थापित किए हैं, तो आप अपने शेल में v6 का चयन कर सकते हैं: निर्यात JAVA_HOME = / System / Library / Java / JavaVirtualMachines / 1.6.0.jdk / Contents / Home
Jürgen Strobel

1
आप 64 बिट OS पर 32 बिट जावा का उपयोग क्यों करना चाहेंगे? 64 बिट जावा वास्तव में मावेरिक्स के तहत 32 बिट से तेज है।
MiB

196

यदि आप केवल ओरेकल से नवीनतम आधिकारिक JRE इंस्टॉल करना चाहते हैं, तो आप इसे वहां प्राप्त कर सकते हैं, इसे स्थापित कर सकते हैं, और टर्मिनल में नया JAVA_HOME निर्यात कर सकते हैं।

  • अपना टर्मिनल खोलें
  • java -version आपको एक त्रुटि और एक पॉपअप देता है
  • JRE dmg http://www.oracle.com/technetwork/java/javase/downloads/index.html पर प्राप्त करें
  • इसे स्थापित करो
  • अपने टर्मिनल में, टाइप करें: export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"
  • java -version अब आपको देता है java version "1.7.0_45"

यह सबसे साफ तरीका है जो मुझे नवीनतम JRE को स्थापित करने के लिए मिला है।

आप अपने टर्मिनल में स्थायी रूप से रखने के लिए export JAVA_HOMEलाइन जोड़ सकते हैं :.bashrcjava

echo export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\" >> ~/.bashrc

37
मुझे लगता है JAVA_HOMEकि वास्तविक वीएम के बजाय स्पष्ट रूप से एक ब्राउज़र प्लग इन को इंगित करने के लिए यह थोड़ा गड़बड़ लगता है । आप XCode कमांड लाइन उपकरण स्थापित है, तो आप, सही पथ प्राप्त करने के लिए एक उपकरण प्राप्त /usr/libexec/java_homeडेवलपर देखें ।apple.com/ library/ mac/ documentation/ Darwin/Reference/…
इल्का

8
@ इल्का - यह ध्वनि गड़बड़ करता है, लेकिन यह वास्तव में है जहां ओरेकल का जेआरई स्थापित होता है। Apple का जावा (जो 6 जावा पर रुक जाता है) ओरेकल के साथ अच्छी तरह से नहीं मिलाता है, जैसा कि कोई भी पसंद कर सकता है
ओरियन एडवर्ड्स

12
मेरा एक सहयोगी (जो दुर्भाग्य से टिप्पणी जोड़ने के लिए यहां आवश्यक प्रतिष्ठा नहीं रखता है) जोड़ना चाहता है कि JAVA_HOME सेटिंग होनी चाहिएexport JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home"
Stephan Windmüller

1
मैंने Oracle से jdk7u45 स्थापित किया और अभी भी अपने bash प्रोफ़ाइल में निर्यात JAVA_HOME = $ (/ usr / libexec / java_home) का उपयोग करता हूं। jdk7u45 जावा सिस्टम वरीयता पैनल सहित बहुत अच्छी तरह से काम करता है। अब मैं jdk7u51 में अपग्रेड कर रहा हूं।
MiB

2
मुझे export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"यह काम पाने के लिए ~ / .bashrc या ~ / .bash_profile के बजाय ~ / .profile को जोड़ना पड़ा ।
लार्स

64

जावा 7 के लिए जेडीके डाउनलोड करने का सही स्थान जावा एसई डाउनलोड है

अन्य सभी लिंक के ऊपर प्रदान की है, जहाँ तक मैं बता सकता हूँ, या तो (संयोग से, अगर आप चलाना चाहते हैं JRE या जावा 6 डाउनलोड प्रदान ग्रहण या अन्य IDEs, जैसे IntelliJ विचार , आप JDK, की आवश्यकता होगी नहीं JRE )।

IntelliJ IDEA के बारे में - जो अभी भी आपसे जावा 6 को स्थापित करने के लिए कहेगा क्योंकि इसे स्पष्ट रूप से एक पुराने वर्ग लोडर या कुछ और की जरूरत है: बस निर्देश का पालन करें जब संवाद पॉप-अप प्रकट होता है और यह सही जगह पर JDK 6 स्थापित करेगा।

बाद में, आपको sudo ln -snfऊपर दिए गए उत्तर में उल्लेख करना होगा :

sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents \
    /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

(यहां कॉपी की गई है क्योंकि यह उल्लेख किया गया था कि "ऊपर" अंततः समझ में नहीं आ सकता है क्योंकि उत्तर फिर से क्रमबद्ध हैं)।

मैंने यह भी बताया JAVA_HOMEकि कहां jdk_1.7.0_xx.jdkस्थापित किया गया था:

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home"

फिर उसे अपने में जोड़ें PATH:

export PATH=$JAVA_HOME/bin:$PATH

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


4
उस रास्ते को पाने के लिए एक बेहतर तरीका क्या है, इसके लिए एक और जवाब के लिए मेरी टिप्पणी देखें ।
इल्का

1
चूँकि इस उत्तर में अधिक उत्थान हैं, इसलिए sudo ln -snfऊपर दिए गए उत्तर में कहा गया बिट थोड़ा सटीक नहीं है। यह वास्तव में श्री रोनाल्ड
कार्तिक रघुपति

@KarthicRaghupathi मुझे यकीन नहीं है कि मैं पूरी तरह से टिप्पणी (के उपयोग thisऔर thatकुछ भ्रामक है) को समझता हूं, लेकिन आपको अभी भी वास्तविक स्थान पर / Sytem / Library / etc जगह से एक सिमलिंक की आवश्यकता है जहां Oracle JVM / / Library / etc स्थापित करता है। ।) या एप्लिकेशन जावा रनटाइम खोजने में असमर्थ होंगे।
मार्को मैसेंजियो

@ मार्को अब जब आप इसका उल्लेख करते हैं, जब मैं अपनी टिप्पणी पढ़ता हूं, तो यह वास्तव में बहुत मायने नहीं रखता है। :) मुझे स्पष्ट करने की अनुमति दें। अपने उत्तर में, आप लिखते हैं "बाद में, आपको sudo ln -snfऊपर दिए गए उत्तर में उल्लेख करना होगा ।" उत्तर उन्हें मिलने वाले वोटों की संख्या के आधार पर ऊपर या नीचे जाते हैं। मेरा इरादा केवल उस उत्तर के लिए एक सीधा संदर्भ प्रदान करना था जिसके पास sudo ln -snfकमान थी।
कार्तिक रघुपति

संपादित - लेकिन वास्तव में यकीन नहीं है कि वास्तव में पुन: आदेश होता है: वे सभी प्रतीत होते हैं कि वे जहां भी थे, अपवाह की परवाह किए बिना। एनवीएम
मार्को मैसेंजियो

14

मैंने Oracle से JDK 1.7 को डाउनलोड और इंस्टॉल किया । कंसोल में / टर्मिनल जावा में 7 ठीक काम करता है।

जब मैं एक जावा प्रोग्राम शुरू करता हूं (जैसे ग्रहण ) GUI के माध्यम से, मुझे मिलता है:

"Eclipse.app" खोलने के लिए आपको जावा एसई 6 रनटाइम की आवश्यकता है। क्या आप अभी एक स्थापित करना चाहेंगे?

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

sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

MonkehWorks को श्रेय


1
मैं उपयोग करने की जरूरत है ln -snfक्योंकि मुझे मिल गया Operation not permittedके साथln -sf
लार्स ब्लमबर्ग

Thx, मैंने उत्तर संपादित किया और ln कमांड में n विकल्प जोड़ा।
श्री रोनाल्ड

+1 बिल्कुल वही जिसकी मुझे तलाश थी। धन्यवाद! स्थापना के बाद सीएलआई जेडीके 7 का संदर्भ प्राप्त कर रहा था। हालाँकि GUI ऐप्स को सही JDK पिक करने के लिए यह कदम आवश्यक था।
कार्तिक रघुपति

उम्मीद थी, लेकिन यह मेरे लिए काम नहीं किया। एंड्रॉइड स्टूडियो 0.3.2 "जावा 6 डाउनलोड करने" पर जोर देता है जो मैं नहीं करने जा रहा हूं। Oracle जावा 7 JDK स्थापित है।
एककुपी

आपको ग्रहण का 64-बिट संस्करण चाहिए। 32-बिट के लिए Apple जावा की आवश्यकता होती है।
Thorbjørn रावन एंडरसन

4

यह त्रुटि इसलिए होती है क्योंकि IntelliJ IDEA की फ़ाइल को जावा संस्करण 1.6 * की आवश्यकता होती है। इस समस्या को हल करने के लिए, 1.6 * को 1.8 * से बदलें।

<key>JVMOptions</key>
<dict>
    <key>ClassPath</key>
      ...

    <key>JVMVersion</key>
    <string>1.8*</string>

    <key>MainClass</key>
    <string>com.intellij.idea.Main</string>
    <key>Properties</key>
<dict>

इसने मेरे लिए यह किया। मेरी समस्या तब थी जब मैंने ओएक्सएक्स 10.9 को अपडेट किया था, मैं अभी भी टर्मिनल से जावा और बाकी सब कुछ (ग्रहण काम ठीक सहित) तक पहुंच सकता था। केवल Android स्टूडियो ही इस त्रुटि का कारण बन रहा था।
ucsunil

यह मेरे लिए OS X 10.10.1 पर काम नहीं करता था, यह शिकायत करता है कि कोई भी संस्करण 1.8 उपलब्ध नहीं है (भले ही JRE 8 ठीक से स्थापित हो)।
इमैनुएल बोबर्ग

आपने जाँच की कि क्या JAVA_HOME सेट है?
Fabio Fumarola

3

ओपी ने अनुमान लगाया कि जावा 7 की आवश्यकता थी। और जावा 6 वास्तव में अब 'समर्थित' नहीं है, इसलिए 7 वह संस्करण है जिसे आपको इस बिंदु पर स्थापित करना चाहिए जब तक कि आपको विरासत ऐप की चिंता न हो।

आप इसे यहाँ प्राप्त कर सकते हैं: http://java.com/en/download/mac_download.jsp?locale=en


हमें यह नहीं मान लेना चाहिए कि Apple का जावा 6 का वर्तमान वितरण असमर्थित है।
ग्राहम पेरिन

मैंने 'समर्थित' शब्द को उद्धरण में रखा ताकि किसी जटिल मुद्दे को छेड़ने की कोशिश से बचा जा सके। 6 के किसी भी समर्थन के लिए ओरेकल शुल्क ... और वह समर्थन शुल्क तार्किक रूप से Apple पर भी लागू होगा; इसलिए, एप्पल एक अनुबंध के बिना 'अपने दम पर' है। क्या उनके पास एक है, और मैकओएसएक्स के लिए पैच के माध्यम से काम करने की योजना है? क्या अनुबंध अभी भी फिर से वितरण की अनुमति देता है? अब Apple के आखिरी अपडेट के बाद से Oracle से 2 जावा 7 अपडेट हो चुके हैं। ऐतिहासिक रूप से, वे लॉक-स्टेप रिलीज़ करते हैं। अनुमान, शायद; एक सुरक्षित धारणा? ऐसा लगता है।
रोंदो

3

OS X 10.9 पर Java SDK को अपडेट करने का मेरा अनुभव बहुत आसान था।

मैंने एसई डाउनलोडJava SE Development Kit 8 से नवीनतम डाउनलोड किया है और .dmg फ़ाइल स्थापित की है। और java -versionटर्मिनल में टाइप करते समय निम्नलिखित प्रदर्शित किया गया था:

जावा संस्करण "1.8.0_11"

जावा (टीएम) एसई रनटाइम एनवायरनमेंट (बिल्ड 1.8.0_11-b12)

जावा हॉटस्पॉट (TM) 64-बिट सर्वर VM (बिल्ड 25.11-b03, मिश्रित मोड)



1

ओपी से:

मैंने अंततः इसे OS X 2013-005 के लिए जावा से पुनः इंस्टॉल किया। इसने इस मुद्दे को हल कर दिया।


1

इस त्रुटि का मतलब है कि जावा ठीक से स्थापित नहीं है।

1) brew cask install java (No need to install cask separately it comes with brew)

2) java -version

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

पुनश्च - काढ़ा-पीपा क्या है? Homebrew-Cask, Homebrew का विस्तार करता है, और Homebrew का उपयोग करके एप्लिकेशन इंस्टॉल करने के बाद एक अतिरिक्त कमांड को निष्पादित करने की परेशानी को हल करता है - "इंस्टॉल करने के लिए, इस आइकन को खींचें ..."

एनबी - यह समस्या मावेरिक्स के लिए विशिष्ट नहीं है, आपको ईएल कैपिटान सहित लगभग सभी ओएस एक्स मिलेगा।


0

JDK को स्थापित करने की कोई आवश्यकता नहीं है, जो कि डेवलपर किट है , बस JRE जो कि रनटाइम वातावरण है


6
यह सच है। हालाँकि, Apple जो प्रदान करता है वह JDK है और Oracle से JRE इंटरनेट प्लगिन के लिए बस है, javaकमांड स्वचालित रूप से सिस्टम-वाइड से जुड़ा नहीं है , इसलिए आप अभी भी "नो जावा रनटाइम प्रेजेंट, इंस्टाल का अनुरोध करते हुए देखते हैं।" जब आप java -versionटर्मिनल में टाइप करते हैं ।
Ngoc Pham
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.