2012-07-05 9 views
5

मैक ओएस के लिए jdk7u5 स्थापित करने के बाद मुझे "सामान्य" उपयोगकर्ता और रूट के लिए विभिन्न जावा-संस्करण मिल गए।मैक ओएस जावा संस्करण अलग है

java -version मुझे देता है 7.

sudo java -version मुझे 6.

मैं /System/Library/Frameworks/JavaVM.framework/Versions/ में देखा है पाया वहाँ कुछ लिंक हैं कि देता है। वास्तविक निर्देशिका के लिंक को हल करने के बाद मैंने इसे पूरे पथ से फिर से कोशिश की।

/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java -version -> 7

sudo /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java -version -> 6

javac के साथ भी यही!

आशा है कि आप लोग मेरी मदद कर सकते हैं!

+0

तो आपका प्रश्न वास्तव में क्या है? क्या आप रूट उपयोगकर्ता को जावा 7 पर सेट करना चाहते हैं? – Failsafe

+0

मैं चाहता हूं कि रूट के लिए जावा सामान्य उपयोगकर्ता के समान ही है। मेरे मामले में 'सुडो जावा-वर्जन' संस्करण 7 –

+0

भी होना चाहिए जावा के अद्यतन संस्करण में अपने JAVA_HOME को सेट करने का प्रयास करें। – Failsafe

उत्तर

5

ओएसएक्स/यूएसआर/बिन/जावा के तहत जावा संस्करण को /Applications/Utilities/Java Preferences.app का उपयोग करके आपने जो चुना है उसे देखकर उपयोग किया है। फ़ाइलों का उपयोग ओरेकल अद्यतनकर्ता द्वारा भी अद्यतन किया जाता है।

जैसा कि आपको जावा 1.7 सेट करने के लिए मैन्युअल रूप से संस्करणों को खींचना है, आप इसे केवल उस उपयोगकर्ता के लिए सेट करेंगे जिसे आप इसे रूट करते हैं यानी रूट नहीं। इसे रूट के लिए सेट करने के लिए मैंने ऐप को sudo /Applications/Utilities/Java\ Preferences.app/Contents/MacOS/Java\ Preferences के रूप में चलाया और शीर्ष पर 1.7 स्थानांतरित कर दिया।

जहां तक ​​मैं फ़ाइलों को देख सकता हूं, ऐप अपडेट ~/Library/Preferences/ByHost/com.apple.java.JavaPreferences.<hex number>.plist में हैं जहां <hex number> मशीन से संबंधित है। रूट की होम निर्देशिका/var/root है इसलिए अब मेरे पास /var/root/Library/Preferences/ByHost/com.apple.java.JavaPreferences.<hex number>.plist

+0

आपकी मदद के लिए धन्यवाद! :) यह बढ़िया काम करता है! –

+0

बस उम्मीद है कि सड़ांध के रूप में चलने की आवश्यकता 1.6 है - लेकिन मुझे बहुत संदेह है कि ऐप्पल जावा का उपयोग करेगा – Mark

-1

ऐसा प्रतीत होता है कि आपके द्वारा निर्दिष्ट लिंक द्वारा उपयोग किया गया जावा संस्करण JAVA_VERSION पर्यावरण चर पर निर्भर करता है। क्या यह हो सकता है कि यह चर आपके उपयोगकर्ता के लिए सेट है, लेकिन sudo द्वारा साफ़ किया जाएगा? उस स्थिति में, उपयोगकर्ता के लिए स्पष्ट रूप से इसे परेशान करना या इसे रूट के लिए सेट करना उन्हें सिंक में रखने में मदद करेगा। बेशक, आप उस वास्तविक संस्करण से /A/ को भी प्रतिस्थापित कर सकते हैं जिसे आप निष्पादित करना चाहते हैं।

+0

कोई 'JAVA_VERSION' सेट नहीं है। 'कौन सा जावा' ->/usr/bin/java' 'sudo java' ->'/usr/bin/java', '/ usr/bin/java''/system/Library/फ़्रेमवर्क/JavaVM।ढांचे/संस्करण/वर्तमान/आदेश/जावा ' –

0

मैक ओएस एक्स 10.7.5 + जेआरई 1.6.0_43 + जेडीके 1.7.0_17 पर एक ही समस्या को पकड़ा गया है।

  • sudo/usr /:

    • जावा -संस्करण => 1.7
    • sudo जावा -संस्करण => 1,6

    ओपन sudo के साथ जावा नियंत्रण कक्ष, इससे समस्या हल हो बिन/javaws -viewer