Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Mac OS X El Capitan上不支持的主要.次要版本_Java_Macos - Fatal编程技术网

Java Mac OS X El Capitan上不支持的主要.次要版本

Java Mac OS X El Capitan上不支持的主要.次要版本,java,macos,Java,Macos,在El Capitan上的Java主次版本在线解决方案不正确之后,我看到了几个解决方案,这些解决方案使您要么禁用了rootless(我不喜欢它的声音),要么在OS X El Capitan中不再工作。在El Capitan上尝试运行webdriver manager start,您可能会得到一个错误,说明: Exception in thread "main" java.lang.UnsupportedClassVersionError: org/openqa/grid/selenium/Gri

在El Capitan上的Java主次版本在线解决方案不正确之后,我看到了几个解决方案,这些解决方案使您要么禁用了rootless(我不喜欢它的声音),要么在OS X El Capitan中不再工作。

在El Capitan上尝试运行
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版本()

安装后,您的机器上会有Java8,但它不会正确更新终端。如果您在终端中运行
java-version
,您将看到
java版本“1.6”
,您希望这表示
java版本“1.8”
。之前的方法是手动更改符号链接,但是,自从El Capitan以来,苹果公司已经通过无根安装,使某些文件夹即使是管理员用户也无法更改。这包括/usr文件夹

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

如果您转到
系统首选项->Java->Java->查看…->系统
并复制路径字段

它将类似于以下内容:

/Library/Internet插件/JavaAppletPlugin.plugin/Contents/Home/bin/java

除了最后的
/bin/java
之外,我们需要这条路径的大部分

因此,现在应将您的路径复制为:

/Library/Internet插件/JavaAppletPlugin.plugin/Contents/Home

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

export JAVA_HOME=“[PATH]”

在终点站运行

然后,再次运行
java-version
,现在应该是
java版本“1.8”


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

在~/.bash\u配置文件中添加以下行对我很有用:

export JAVA_HOME="$(/usr/libexec/java_home --version 1.8)"
您可能必须重新启动shell才能反映或运行这些更改:

. ~/.bash_profile

你的问题是什么?没有。这是一个自我回答,可能会帮助其他有相同问题的人,因为我花了几个小时搜索解决方案并将其发布在下面。这对我来说很有效,但我还需要将
export JAVA_HOME=“[PATH]”
添加到我的.bash_配置文件中。如果不是,每次我重新启动时,路径都会恢复到1.6。