Mac OS X El Capitan上不支持的major.minor版本 [英] Unsupported major.minor version on Mac OS X El Capitan

查看:118
本文介绍了Mac OS X El Capitan上不支持的major.minor版本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在线上针对El Capitan的主要次要版Java的解决方案不正确,我看到了几个解决方案,这些解决方案让你无法禁用无根,我不喜欢它的声音,或者只是在OS X中不再工作El Capitan。

解决方案

当试图运行 webdriver-manager start 时El Capitan,您可能会收到错误消息:

 线程main中的异常java.lang.UnsupportedClassVersionError:org / openqa / grid / selenium / GridLauncher:不支持的major.minor版本51.0 
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
在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已退出,代码为1

此在线推荐的修复方法是将Mac OS X的符号链接更改为Java,您可以通过在终端中运行 echo $ JAVA_HOME 来找到它。 / p>

这是指向错误的文件夹,错误是因为应用程序是使用比终端中运行的机器更高版本的JRE编译的。



你应该去Oracle,并下载最新的JRE版本( http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html



安装完成后,您的计算机上将安装Java 8,但它不会正确更新终端。如果你在终端中运行 java -version ,你会看到 Java版1.6,你想要这个说 Java版1.8。之前的方法是手动更改符号链接,但是,因为El Capitan,Apple已经使管理员用户无法安装某些文件夹。这包括/ usr文件夹。



有两种方法可以解决这个问题,第一种方法是危险的,以及其他人似乎都在推荐的方法。第二个,更安全,我在这里放的是什么。



如果你去你的系统偏好设置 - > Java - > Java - >查看... - >系统并复制路径字段。



它看起来类似于以下内容:



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



我们想要这条路径的大部分,除了 / bin / java 之外。



所以你的路径应该是被复制为:



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



在终端中运行以下命令,将[PATH]替换为上面的路径。



export JAVA_HOME =[PATH]



并在终端中运行。



之后,再次运行 java -version ,现在应该说 Java版1.8



现在, webdriver-manager start 应该会成功。


Following the solutions online for Major Minor version of Java being incorrect on El Capitan, I saw several solutions which made you either disable rootless, which i didn't like the sound of, or just didn't work anymore in OS X El Capitan.

解决方案

When trying to run webdriver-manager start on El Capitan, you may get an error saying:

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

The recommended fix for this online is to change the symlink that Mac OS X has to Java, which you can find by running echo $JAVA_HOME in the terminal.

This is pointing to the incorrect folder, and the error is because the application was compiled with a higher version of JRE than the machine is running in the terminal.

You should go to Oracle, and download the latest JRE version (http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html)

After this has been installed, you will have Java 8 on your machine, but it will not update the terminal properly. If you run java -version in your terminal, you'll see Java Version "1.6", you want this to say Java Version "1.8". The previous way to do this was to change the symlink manually, however, since El Capitan, Apple have made certain folders unchangable even to admin users, with their Rootless install. This includes the /usr folder.

There are two ways to fix this, the first is dangerous, and what everyone else seems to recommend. The second, is safer, and what I am putting here.

If you go to your System Preferences -> Java -> Java -> View... -> System and copy the Path field.

It will look something similar to the following:

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

We want most of this path, except the /bin/java on the end.

So your path should now be copied as:

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

Run the following command in the terminal, replacing [PATH] with the path you have from above.

export JAVA_HOME="[PATH]"

and run that in the terminal.

Afterwards, run java -version again, and it should now say Java Version "1.8"

Now, webdriver-manager start should succeed.

这篇关于Mac OS X El Capitan上不支持的major.minor版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆