🤟致敬读者
- 🟩感谢阅读
- 🟦希望我的文章能帮到您
- 🟪如有兴趣可点关注了解更多内容
📘博主信息
- 👆点标题有惊喜
📃文章前言
- 🔷文章均为学习和工作中整理的笔记,分享记录为主,如有错误请指正,共同学习进步。
- 🔶本文主要介绍
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许可证
- 🧡此许可允许在使用者仅出于非商业目的以任何媒体或格式分发、重新混合、改编和构建材料,并且前提是注明创作者。
- 💜如果您重新混合、改编或基于该材料进行构建,则必须按照相同的条款对修改后的材料进行许可。
📙更多版权信息请访问以下网址查看:
- 🤎版权官网 https://creativecommons.org/licenses/by-nc-sa/4.0/
- 🩶中文翻译 https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh-hans