Exception in thread “main“ java.lang.UnsupportedClassVersionError: org/openqa/selenium/devtools/v122

🤟致敬读者

  • 🟩感谢阅读
  • 🟦希望我的文章能帮到您
  • 🟪如有兴趣可点关注了解更多内容

📘博主信息

  • 👆点标题有惊喜

📃文章前言

  • 🔷文章均为学习和工作中整理的笔记,分享记录为主,如有错误请指正,共同学习进步。
  • 🔶本文主要介绍Exception in thread “main“ java.lang.UnsupportedClassVersionError: org/openqa/selenium/devtools/v122相关内容


1. 场景

使用java实现selenium的web自动化测试,jdk版本1.8,maven版本3.9.4,selenium依赖版本为4.20.0
完整的依赖如下

        <!--selenium java web 自动化测试-->
        <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.20.0</version>
        </dependency>

在使用时,遇到了问题,执行程序报错

2. 报错

报错内容如下

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/openqa/selenium/devtools/v122/v122CdpInfo 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
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:370)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at java.util.Iterator.forEachRemaining(Iterator.java:116)
    at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
    at org.openqa.selenium.devtools.CdpVersionFinder.<init>(CdpVersionFinder.java:44)
    at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:126)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:106)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:93)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:82)
    at com.libai.test.selenium.ChromeDriverTest.main(ChromeDriverTest.java:22)


Process finished with exit code 1

3. 解决

这里是依赖问题,因为jdk版本1.8,而selenium的4.20.0版本依赖需要更高版本的jdk支持,不兼容,所以报错。
改变jdk版本代价有点大,所以选择改变selenium依赖的版本,将其版本降低为4.10.0即可使用

        <!--selenium java web 自动化测试-->
        <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.10.0</version>
        </dependency>

📜文末寄语

  • 🟢茫茫人海,相识即是有缘
  • 🟠拥抱科技,学习永无止步
  • 🔵创作不易,分享永不设限
  • 🟣如有收获,望君一键三连


📕版权声明:

  • 🩵作者:为好全栈
  • 💛博客地址:https://hanshan.blog.csdn.net/
  • 💚版权:本作品采用《创作共享许可证》进行许可,根据该许可授权的内容可在符合本许可证条款的前提下自由使用、修改和创作衍生作品。

📗版权许可介绍:

  • 💙本文采用CC BY-NC-SA许可证
  • 🧡此许可允许在使用者仅出于非商业目的以任何媒体或格式分发、重新混合、改编和构建材料,并且前提是注明创作者。
  • 💜如果您重新混合、改编或基于该材料进行构建,则必须按照相同的条款对修改后的材料进行许可。

📙更多版权信息请访问以下网址查看:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值