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

2022-09-03 03:20:24

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


答案 1

尝试在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版本(http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html)

安装后,您的计算机上将有Java 8,但它将无法正确更新终端。如果你在终端中运行,你会看到,你希望它说。之前的方法是手动更改符号链接,但是,由于El Capitan,Apple已经使某些文件夹即使在管理员用户中也无法更改,并且安装了Rootless。这包括 /usr 文件夹。java -versionJava Version "1.6"Java Version "1.8"

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

如果您转到您的并复制路径字段。System Preferences -> Java -> Java -> View... -> System

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

/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 -versionJava Version "1.8"

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


答案 2

将以下行添加到 ~/.bash_profile 对我有用:

export JAVA_HOME="$(/usr/libexec/java_home --version 1.8)"

您可能需要重新启动 shell 才能使这些更改反映或运行:

. ~/.bash_profile