2012-06-03 11 views
32

पर निष्पादन योग्य का पता लगाने में असमर्थ मुझे मैक ओएसएक्स 10.7.3 में जावा के साथ दयनीय समस्या है। पहले मैंने इसे स्थापित किया था और यह ठीक काम कर रहा था। .bash_profile और समय के साथ .profile फ़ाइल में कुछ परिवर्तन करने के बाद, मैं एक त्रुटि की तरह"/ usr/bin/java/bin/java" (-1)

Unable to locate an executable at "/usr/bin/java/bin/java" 

हो रहा है जब भी मैं "javac" या मेरे टर्मिनल में "जावा" चलाने के लिए प्रयास करें।

echo $PATH की तरह एक आउटपुट देता है:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/sabya/Documents/Play_Framework/play-2.0:/usr/X11/bin:/usr/local/git/bin:/usr/local/mysql/bin 

मेरे .bash_profile लगता है:

alias start_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM start" 
alias stop_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM stop" 
export JAVA_HOME=/usr/bin/java 

which java

/usr/bin/java 

इसका मुझे लंबे दिनों के लिए गुस्सा दिलाना और स्थापना रद्द करने और स्थापित करने की आउटपुट जावा ने मेरी किस्मत में मदद नहीं की।

मै मैक में एक नौसिखिया हूं और इस समस्या को हल करने में मदद की ज़रूरत है।

गुगले हुए और इस सवाल को पोस्ट करने से पहले एसओएफ देखा लेकिन मेरी समस्या के लिए कुछ भी विशिष्ट नहीं मिला।

धन्यवाद

Sabya

+3

मुझे -1 के बारे में समझ में नहीं आया। क्या आप समझा सकते हैं? – Sabya

उत्तर

67

सबसे निश्चित रूप से, export JAVA_HOME=/usr/bin/java दोषी है। यह env var जेडीके या जेआरई स्थापना निर्देशिका को इंगित करना चाहिए। गुगलिंग से पता चलता है कि मैकोज़ एक्स के लिए सबसे अच्छा विकल्प export JAVA_HOME=/Library/Java/Home लगता है।

+2

निर्यात JAVA_HOME =/लाइब्रेरी/जावा/होम .bash_profile में पूरी तरह से काम किया। मदद के लिए धन्यवाद। :-) – Sabya

+14

खान '/ लाइब्रेरी/जावा/जावा वर्चुअल माचिन/जेडीके 1.8.0_31.jdk/सामग्री/होम' में स्थापित किया गया था। – cloudrave

+1

यह मेरे लिए पूरी तरह से काम करता है, हालांकि मुझे यह समझ में नहीं आता है। यदि आप कंसोल/usr/bin/java "कौन सा जावा" के लिए हैं, तो हमें एक अलग पथ क्यों सेट करना होगा? – Loebre

9

JAVA_HOMEजावा निष्पादन योग्य का नाम नहीं है। लेकिन निर्देशिका में, जावा स्थापित किया गया था। निष्पादन योग्य $JAVA_HOME/bin/java होना चाहिए।

which कमांड आपके लिए सहायक नहीं है। यह आपको जावा घर नहीं देगा, लेकिन संभवतः यह एक बहुत ही अलग निर्देशिका में जावा के लिए एक रैपर या सिम्लिंक है।

4
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home 

क्योंकि:

$ find /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home -name java* 

/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/java /Library/Java/JavaVirtualMachines/jdk1.8.0_45 .jdk/सामग्री/होम/बिन/javac /लाइब्रेरी/जावा/जावावार्टुअलमाचिन /jdk1.8.0_45.jdk/Contents/Home/bin/javadoc /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/ होम/बिन/javafxpackager /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Ho मुझे/बिन/जावा /लाइब्रेरी/जावा/जावावार्टुअल माचिन/जेडीके 1.8.0_45.jdk/Contents/Home/bin/javap /लाइब्रेरी/जावा/जावावार्टुअल माचिन /jdk1.8.0_45.jdk/Contents/Home/bin/javapackager /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/javafx-src.zip /Library/Java/JavaVirtualMachines/jdk1.8.0_45।जेडीके/सामग्री/होम/जेआर/बिन/जावा

0

मुझे एक ही समस्या का अनुभव हुआ है, और इस पोस्ट को पढ़ने के बाद मैंने में .bash_profile में परिभाषा को दो बार चेक किया है। यह वास्तव में है:

export JAVA_HOME=$(which java) 

कि, बिल्कुल के रूप में Anony-Mousse समझा रहा है, निष्पादन योग्य है। करने के लिए इसे बदलने:

export=/Library/Java/Home 

समस्या ठीक करता है, यद्यपि अभी भी समझने के लिए क्यों यह प्रोफ़ाइल फ़ाइल में है कि रास्ते में महत्वपूर्ण है दिलचस्प है।