12

我在我的 Selenium 文件夹中获得了这个 selenium 服务器 jar 文件。当我尝试使用java - jar selenium-server-standalone-2.0b3.jar命令执行此操作时,出现此版本差异错误。谁能告诉我我在哪里犯了错误?

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/openqa/gr
id/selenium/GridLauncher (Unsupported major.minor version 50.0)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
4

7 回答 7

17

该消息(带有 version 50.0)表明 Selenium 服务器需要 java 6 才能运行,但您正在尝试使用一些较早版本的 java 运行它。

要找出您正在使用的 java 版本,请运行:

java -version

如果你安装了 java 6,但它没有被使用,你可能必须给 java 可执行文件的完整路径名,所以如果在 linux 上是这样的:

/usr/local/jre6/bin/java -jar selenium.jar

或者如果在 Windows 上像这样:

"C:\Program Files (x86)\Java\jre6\bin\java.exe" -jar selenium.jar

(当然,您需要调整该命令以匹配 java 在您的机器上实际存在的位置)

于 2012-07-18T13:44:20.833 回答
2

我遇到了同样的问题,我使用的是 jre6,我转到项目属性,将 JRE 系统库更改为使用 jre1.8 并且它有效..您可以选择备用 jre 并添加系统上安装的最新 jre。

于 2015-11-06T20:17:53.113 回答
1

除了 Java 版本,Java供应商显然是另一个重要变量。我遇到了 OP 问题的一个变体,其中堆栈跟踪表明需要 Java 8,即使我已经在使用 OpenJDK 8。

线程“main”中的异常 java.lang.UnsupportedClassVersionError: org/openqa/grid/selenium/GridLauncherV3 : java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader) 中不受支持的 major.minor 52.0 版.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71 ) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:361) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:355) 在 java.net. URLClassLoader.findClass(URLClassLoader.java:354) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:425) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:358) 在 sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482 )

切换到 Oracle 的 JVM 让我克服了这个问题。

于 2017-05-02T14:39:02.360 回答
1

就我而言,当我执行“java -version”时,我得到了这个:

Picked up _JAVA_OPTIONS: -Duser.home=C:\Users\xxxx
java version "1.7.0_151"
Java(TM) SE Runtime Environment (build 1.7.0_151-b33)
Java HotSpot(TM) Client VM (build 24.151-b33, mixed mode)

我的 'JAVA_HOME' 与下面提到的不同:

C:\Program Files\Java\jdk1.8.0_91

所以我刚刚在我的环境变量下的路径中添加了“jdk1.8.0_91”,如下所示:

前:

C:\Program Files (x86)\Java\jre7\bin;

后:

C:\Program Files\Java\jdk1.8.0_91\jre\bin; C:\Program Files (x86)\Java\jre7\bin;

之后,我能够成功运行“webdriver-manager”。我希望这对其他人有帮助。

于 2018-12-12T10:52:44.413 回答
0

右键单击您的项目文件夹 -> 构建路径 -> 配置构建路径 -> 检查您的 selenium 版本是否与 jre 匹配(对于 selenium 52 jre 8 版本是必需的)如果不匹配然后单击 jre -> 编辑 -> 备用 jre - > 添加 -> 提供所需路径 -> 确定 -> 完成

这对我有用。

于 2020-12-24T08:46:07.507 回答
-1

我遇到了类似的问题。只需安装最新版本的 Nodejs、Protractor 和 JDK。它可以正常工作。

最初我遇到了 JRE 版本不匹配的问题。

我有 Selenium 网络驱动程序 3.0 和 Jre 1.7。我卸载了所有并安装了最新版本。

于 2017-02-06T15:21:25.800 回答
-1

使用安装最新版本的java ie 12

brew cask install java

按照https://www.java.com/en/download/help/mac_uninstall_java.xml卸载从 Oracle 下载的那个

可能会有很大帮助!

于 2019-03-26T10:00:58.100 回答