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

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

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

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

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

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

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

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

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

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

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

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

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐