2015-12-10 13 views
12

एल कैपिटन पर जावा के मेजर माइनर संस्करण के लिए ऑनलाइन समाधानों के बाद, मैंने कई समाधान देखा जो आपको या तो रूटलेस अक्षम करते हैं, जिसे मुझे पसंद नहीं आया , या ओएस एक्स एल कैपिटन में अब और काम नहीं किया है।मैक ओएस एक्स एल कैपिटन पर असमर्थित major.minor संस्करण

+2

आपका प्रश्न क्या है? – EluciusFTW

+2

कोई नहीं है। यह उन लोगों की सहायता करने का एक स्व उत्तर है जिनके पास एक ही समस्या है, क्योंकि मैंने समाधान की खोज में कई घंटे बिताए हैं और इसे नीचे पोस्ट किया है। – Bowersbros

उत्तर

41

जब एल कैप्टन पर webdriver-manager start भागने की कोशिश कर, आप कह त्रुटि आ सकती है:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/openqa/grid/selenium/GridLauncher : Unsupported major.minor version 51.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:621) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
Selenium Standalone has exited with code 1 

इस ऑनलाइन के लिए सिफारिश की ठीक सिमलिंक मैक ओएस एक्स जावा, जो आप पा सकते हैं नहीं है बदलने के लिए है टर्मिनल में echo $JAVA_HOME चलाकर।

यह गलत फ़ोल्डर को इंगित कर रहा है, और त्रुटि यह है क्योंकि एप्लिकेशन को टर्मिनल में मशीन चलने की तुलना में जेआरई के उच्च संस्करण के साथ संकलित किया गया था।

आप ओरेकल के पास जाना चाहिए, और डाउनलोड नवीनतम JRE संस्करण (http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html)

इस स्थापित किया गया है के बाद, आप अपनी मशीन पर जावा 8 होगा, लेकिन यह ठीक से टर्मिनल अपडेट नहीं होगा। यदि आप अपने टर्मिनल में java -version चलाते हैं, तो आपको Java Version "1.6" दिखाई देगा, आप इसे Java Version "1.8" कह सकते हैं। ऐसा करने का पिछला तरीका सिमलिंक को मैन्युअल रूप से बदलना था, हालांकि, एल कैपिटन के बाद से, ऐप्पल ने अपने रूटलेस इंस्टॉल के साथ व्यवस्थापक उपयोगकर्ताओं को भी कुछ फ़ोल्डर्स अपरिवर्तनीय बना दिया है। इसमें/usr फ़ोल्डर शामिल है।

इसे ठीक करने के दो तरीके हैं, पहला खतरनाक है, और हर कोई क्या सलाह देता है। दूसरा, सुरक्षित है, और मैं यहां क्या डाल रहा हूं।

यदि आप अपने System Preferences -> Java -> Java -> View... -> System पर जाते हैं और पथ फ़ील्ड कॉपी करते हैं। अंत पर /bin/java छोड़कर

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

हम इस पथ के सबसे चाहते हैं,:

यह निम्न जैसा कुछ दिखेगा। टर्मिनल में निम्न आदेश

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

भागो, पथ आप ऊपर से है के साथ [पथ] की जगह:

तो अपने पथ अब के रूप में कॉपी किया जाना चाहिए।

export JAVA_HOME="[PATH]"

और कहा कि टर्मिनल में चलाते हैं।

बाद में, फिर java -version चलाने के लिए, और यह अब कहना चाहिए Java Version "1.8"

अब, webdriver-manager start सफल होने चाहिए।

+4

यह मेरे लिए काम करता था, लेकिन मुझे अपने .bash_profile में 'निर्यात JAVA_HOME = "[PATH]" 'जोड़ने की भी आवश्यकता है। यदि नहीं, हर बार जब मैंने पथ को पुनरारंभ किया तो वापस 1.6 पर वापस आ गया। – Ryan

संबंधित मुद्दे