2010-01-27 14 views
5

संकलन मैं कोको में एक आवेदन जो कुछ जावा वर्गों का उपयोग करता है के विकास कर रहा हूँ मैं एक त्रुटि हो रही है त्रुटि परिभाषित नहीं है "JAVA_HOME सही ढंग से परिभाषित नहीं है हम /System/Library/Frameworks/JavaVM.framework/Home पर अमल नहीं कर सकते /bin/java".I कैसे this..Please किसी को भी मेरी मदद को हल करने नहीं जानता ..JAVA_HOME सही ढंग से करते हुए

अग्रिम

उत्तर

2

JAVA_HOME सेट .../Home निर्देशिका, नहीं java बाइनरी को इंगित करने के लिए धन्यवाद। जैसे

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home 

आप पर्यावरण चर को पहली जगह क्यों सेट कर रहे हैं? आप ओएस एक्स पर यह करने के लिए नहीं होना चाहिए ...

+0

यह, उदाहरण के लिए, आवश्यक है जब चींटी निर्माण स्क्रिप्ट चला। –

20
export JAVA_HOME=`/usr/libexec/java_home` is exactly what you want to do. 

वास्तव में, अपाचे परियोजनाओं के सभी (अच्छी तरह से, किसी भी परियोजना वास्तव में) है कि /System/Library/Frameworks/JavaVM.framework/Versions hardcodes/... अगर यह मौजूद है तो/usr/libexec/java_home का उपयोग करने की आवश्यकता है। जावा वास्तव में स्थापित होने पर यह एकमात्र तरीका है जिसे आप जान लेंगे।

भविष्य में किसी समय है, जो और भी अधिक गंभीर रूप से इन परियोजनाओं टूट जाएगा अगर वे एक Oracle/OpenJDK JVM का उपयोग कर लोड करना चाहते हैं /System/Library/Frameworks/JavaVM.framework/Versions/ में सिमलिंक चला जायेगा पर ।

+0

बहुत बहुत धन्यवाद :) क्या आप किसी भी मौके से जानते हैं कि कोई डबल/सीधी उद्धरण चिह्नों का उपयोग क्यों नहीं कर सकता? – pasql

+0

क्या यह पुनरारंभ के बीच लगातार रहेगा? –

0

अपने .bashrc फाइल में, लाइनों के नीचे जोड़ें:

export JAVA_HOME=/usr 
export PATH=$PATH:$JAVA_HOME 

यह मेरे लिए काम किया।

0

कभी-कभी बदलते JAVA_HOME मदद नहीं करता है, क्योंकि अपाचे चींटी लिपि में JAVA_HOME हार्डकोडेड है। जब आप बदलना JAVA_HOME अभी भी चींटी को चलाने के लिए विफल रहा है, आप की तरह चींटी लिपि में अपने JAVA_HOME करने के लिए डिफ़ॉल्ट hardcode बदलने के लिए, की कोशिश कर सकते हैं:

$ vi /Users/apache-ant-1.8.3/bin/ant 
    #ant from line 83 to 93 
    case "`uname`" in 
     CYGWIN*) cygwin=true ;; 
     Darwin*) darwin=true 
       if [ -z "$JAVA_HOME" ] ; then 
#delete JAVA_HOME=XXXXX(default line) , and give JAVA_HOME ur java home url  




JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home 
          fi 
          ;; 
        MINGW*) mingw=true ;; 
       esac 
संबंधित मुद्दे