selenium不同版本jar报错:Exception in thread "main" java.lang.NoClassDefFoundError

使用selenium时,一个很简单的小程序,在运行时一直报错,网上搜索了一下,并没有找到解决的方案,可能遇到这种问题的人比较少吧,但解决这个问题花废了一天多的时间,一直没有找到解决的原因,很是头疼;

这段代码之前是就有的,但是现在报错了,之所以是把它拿出来,是为了比较现有的一个项目,一直在报错,找不到原因,就拿出最初的代码做比较,用来发现问题,排除其他的原因找问题,这个方法还是挺好用的


 

报错信息,

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/gson/JsonParseException
    at org.openqa.selenium.remote.http.JsonHttpCommandCodec.<init>(JsonHttpCommandCodec.java:47)
    at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:77)
    at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:62)
    at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:57)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.<init>(DriverCommandExecutor.java:46)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:171)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:160)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:117)
    at selenium0814.selenium0814.SeleniumTest.main(SeleniumTest.java:16)
Caused by: java.lang.ClassNotFoundException: com.google.gson.JsonParseException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 9 more

问题解决,

使用的selenium版本过高,,

出现错误的版本是      selenium-2.45.0,这个版本没有问题,但可能是我其他配置的原因导致出错

使用最初的selenium后,就不报错了,

1.修改selenium版本

2.移除原有的高版本jar包

3.移除后,选择新的jar包--找到对应的jar包----Apply

保存以后,继续hello world吧,,,

 

——————————网上其他的解决方案——————————

导入chromedriver后报错 


Exception in thread “main” java.lang.NoSuchMethodError:

com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V 
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:111) 
at org.openqa.selenium.chrome.ChromeDriverService.access000(ChromeDriverService.java:32)atorg.openqa.selenium.chrome.ChromeDriverService000(ChromeDriverService.java:32)atorg.openqa.selenium.chrome.ChromeDriverServiceBuilder.findDefaultExecutable(ChromeDriverService.java:137) 
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:302) 
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88) 
at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:124) 
at eooa.chrome.main(chrome.java:19)

原因:selenium的java和standalone包的问题,更新为最新的包就ok了

ps:安装使用firefox时,也会有提示找不到方法,多半是因为版本不一致,在网上找到相应版本,基本就ok了 
贴上上面chrome的报错,是因为在网上没看到有人报相似的错误,所以贴上给大家看看

本人初学Hibernate框架,网络上找的视频自学的,刚刚到第一次运行文件就出现这个错误,用的是eclipse,错误代码如下: ``` Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException at org.hibernate.boot.spi.XmlMappingBinderAccess.<init>(XmlMappingBinderAccess.java:43) at org.hibernate.boot.MetadataSources.<init>(MetadataSources.java:87) at org.hibernate.cfg.Configuration.<init>(Configuration.java:123) at org.hibernate.cfg.Configuration.<init>(Configuration.java:118) at cn.ljs.text.HibernateTest.main(HibernateTest.java:13) Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ... 5 more ``` 文件代码如下: ``` package cn.ljs.text; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; import cn.ljs.pojo.User; public class HibernateTest { public static void main(String[] args) { Configuration cfg=new Configuration().configure(); ServiceRegistry registry=new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build(); SessionFactory factory=cfg.buildSessionFactory(registry); Session session=factory.openSession(); User user=(User) session.get(User.class, 1); System.out.println(user); session.close(); factory.close(); } } ``` 很简单,就是测试一下布置有没有问题 以下是包图: ![图片说明](https://img-ask.csdn.net/upload/201902/15/1550193069_565517.jpg) 跟着教学视频走的,代码无误,视频里直接输出了数据库表中的信息,而我就报错... 已自行百度后作出以下修改: ------------------------- 1.将jar包修改到classpath目录下, ![图片说明](https://img-ask.csdn.net/upload/201902/15/1550193227_189559.jpg) 无效 2.修改classpath等配置, ![图片说明](https://img-ask.csdn.net/upload/201902/15/1550193280_600490.jpg) ![图片说明](https://img-ask.csdn.net/upload/201902/15/1550193296_623025.jpg) path:D:\OracleWINDOWS.X64_180000_db_home\bin;%JAVA_HOME%\bin;%MAVEN_HOME%\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;D:\java\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\system32\wbem 我半路出家,在外面培训班学过4个月java基础,学的是SSM框架,现在想自己拓展一下学习Hibernate,哪知道一开始就遇到这问题 o(╥﹏╥)o,请高手指点!谢谢!
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页