解决selenium升级到版本 4.16后出现的问题: org/openqa/selenium/WebDriver 编译环境是55.0(jdk11),而运行环境为52.0( jdk8 )

发布于:2024-05-08 ⋅ 阅读:(31) ⋅ 点赞:(0)

踩坑记录

最近升级了selenium到版本 4.16.1,  持续集成测试,执行mvn test时遇到问题如下

java.lang.UnsupportedClassVersionError: org/openqa/selenium/WebDriver has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

提示信息翻译:org/openqa/selenium/WebDriver  编译环境是55.0(jdk11),而运行环境为52.0( jdk8 ),显然运行环境低于编译环境,

我使用了selenium 4.16.1 ,这个是需要jdk 11的,我的电脑中也安装了jdk11,并且脚本在IDEA中是可以顺利进行的!!!

于是乎,我就在网上各种找答案,回答频率最高的是在.xml中设置java.vesion 为11

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        <java.version>11</java.version>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

或者在maven的 \conf\settings.xml中设置java11 

<profiles>
  <profile>
    <id>jdk-11</id>
    <activation>
      <activeByDefault>true</activeByDefault>
      <jdk>11</jdk>
    </activation>
    <properties>
      <maven.compiler.source>11</maven.compiler.source>
      <maven.compiler.target>11</maven.compiler.target>
      <maven.compiler.compilerVersion>11</maven.compiler.compilerVersion>
    </properties>
  </profile>
</profiles>

很遗憾,都不能解决这个问题!

毫无头绪!

毫无头绪!

毫无头绪!

最终解决方案

出去溜达一圈,有了新的思路:这个问题最奇怪的点是IDEA中可以顺利运行的脚本,原因是在IDEA的Maven runner中设置了运行JRE,如下图:

但是通过maven 命令行方式运行 mvn test,并没有设置运行jre,而是使用了默认的JDK。大家都知道Maven依赖Java,需要配置JAVA_HOME。我以前的环境中jdk 使用的是1.8,安装和jdk11以后好像没有特意更改过jdk,只是在IDEA中做了相关配置!!!  于是乎,我运行了命令 mvn -v 显示:

Java version: 1.8.***

到这里,终于真像大白,修改了电脑中的JAVA_HOME,指定jdk11。重新运行 mvn test 运行测试用例,顺利执行!!!

最后的总结

当我们遇到类文件编译环境是55.0(高版本),而运行环境为52.0(低版本 )的错误时,需要考虑两点

1.解决办法很简单,升级到对应的高版本jdk即可

2.就是我遇到的问题,可能是大家在环境中有多个jdk版本,我们升级了jdk以后,并没有重新设置JAVA_HOME 所导致!

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!


网站公告

今日签到

点亮在社区的每一天
去签到