2015-12-10 263 views
12

繼在El Capitan上重大次要版本Java的錯誤解決方案後,我看到了幾個解決方案,這些解決方案使您可以禁用無根,我不喜歡,或者只是在OS X El Capitan中無法使用。在Mac OS X上不受支持的major.minor版本El Capitan

+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 

這個網上推薦的解決方法是改變這種狀況的Mac OS X具有Java中,你可以找到的符號鏈接通過在終端中運行echo $JAVA_HOME

這是指向不正確的文件夾,錯誤是因爲應用程序編譯的JRE版本高於機器在終端中運行的版本。

你應該去到Oracle,並下載最新版本的JRE(http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

這已被安裝後,你將有8 Java的機器上,但它將無法正常更新終端。如果您在終端中運行java -version,則會看到Java Version "1.6",您要這麼說Java Version "1.8"。之前的方法是手動更改符號鏈接,但是,由於El Capitan,Apple已經通過Rootless安裝使某些文件夾不可更改,即使是管理用戶。這包括/ 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

這對我有效,但我也需要將'export JAVA_HOME =「[PATH]」'添加到我的.bash_profile。如果沒有,每次我重新啓動時,路徑恢復到1.6。 – Ryan

相關問題