在Eclipse中使用Selenium调用Chrome浏览器失败,报NoClassDefFoundError错误
问题描述
在Eclipse中使用Selenium编写的第一个程序,运行后无法调用Chrome浏览器,抛出以下错误:
代码示例
package webdriverbasic; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Webdriverbasicclass { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver","C:\\Users\\Sammy\\Downloads\\chromedriver_win32\\chromedriver.exe"); WebDriver driver=new ChromeDriver(); } }
异常信息
Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/chrome/ChromeDriver at webdriver/webdriverbasic.Webdriverbasicclass.main(Webdriverbasicclass.java:10) Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.chrome.ChromeDriver at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 1 more
解决方法
这个错误的核心是JVM找不到ChromeDriver类,本质是Selenium相关依赖未正确引入项目,按以下步骤排查修复:
检查Selenium依赖是否完整引入
若手动导入jar包:- 确认下载的Selenium Java包包含所有必要jar(如
selenium-java-x.x.x.jar、selenium-chrome-driver-x.x.x.jar等) - Eclipse中右键项目 →
Build Path→Add External Archives,重新选择所有Selenium相关jar,确保无遗漏 - 进入
Build Path→Configure Build Path→Libraries标签页,确认Selenium的jar都在列表中,无红色叉号
- 确认下载的Selenium Java包包含所有必要jar(如
使用Maven/Gradle管理依赖(推荐)
若用Maven,在pom.xml中添加对应依赖:<dependencies> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>与ChromeDriver匹配的Selenium版本号</version> </dependency> </dependencies>执行
mvn clean install刷新依赖,再右键项目 →Maven→Update Project确认ChromeDriver与Chrome版本匹配
- 打开Chrome → 右上角菜单 →
帮助→关于Google Chrome,查看浏览器版本 - 下载对应版本的ChromeDriver,确保代码中
System.setProperty的路径和实际文件路径一致
- 打开Chrome → 右上角菜单 →
检查JDK版本兼容性
确认项目使用的JDK版本与Selenium兼容,比如Selenium 4.x要求JDK 8及以上版本
内容的提问来源于stack exchange,提问作者Sudama Pawrarya
相关产品推荐
相关产品推荐

