想着写一个程序来进行订饭,首先想到了用selenium来进行开发,但是在开发的过程中遇到了问题。

selenium4.0版本在springboot中的使用问题的坑

添加上了jar包,写好了代码就测试时发现出现了异常。

selenium4.0版本在springboot中的使用问题的坑

java.lang.NoClassDefFoundError: org/openqa/selenium/internal/Require 

Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.internal.Require

selenium4.0版本在springboot中的使用问题的坑

可以确定这是少了这个类 !但是明明在非springboot版本中使用4.0版本的selenium是好用的,并不会报错,为什么在springboot就报错了,首先猜测是跟springboot中的版本冲突了。

于是边去maven中查看导入的依赖,结果发现selenium的版本由4.0.0变成了3.141.59,找到原因了。

selenium4.0版本在springboot中的使用问题的坑

又去spring-boot-dependencies模块中去搜索selenium发现默认的版本的为3.141.59

selenium4.0版本在springboot中的使用问题的坑

到这里发现是springboot的pom坐标配置覆盖了自己写的pom坐标,所以才会出现类org/openqa/selenium/internal/Require找不到的情况。

这里有个疑惑点,难道不应该是自己写的pom坐标覆盖spring-boot-dependencies中的pom坐标嘛?

知道问题所在,接下来就是让自己的坐标覆盖默认的坐标!改动如下,程序正常运行

selenium4.0版本在springboot中的使用问题的坑

 引入的jar包版本也改为了4.0.0

selenium4.0版本在springboot中的使用问题的坑

该问题只有在selenium与springboot一起使用时才会出现!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。