You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行简单Java-Selenium项目时遭遇NoClassDefFoundError错误求助

Selenium运行错误解决方法

你的代码:

package XYZ;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class SeleniumScript {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.setProperty("websdriver.chrome.driver", "/Users/MYNAME/Desktop/chromedriver");
        WebDriver driver = new ChromeDriver();
        driver.get("https://google.com/");
        System.out.print(driver.getTitle());
        driver.quit();
    }
}

遇到的错误:

Juli 20, 2023 11:35:03 AM org.openqa.selenium.remote.service.DriverService$Builder getLogOutput
INFORMATION: Driver logs no longer sent to console by default; https://www.selenium.dev/documentation/webdriver/drivers/service/#setting-log-output
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/io/ByteStreams
    at org.openqa.selenium.remote.service.DriverService$Builder.getLogOutput(DriverService.java:471)
    at org.openqa.selenium.chrome.ChromeDriverService$Builder.createDriverService(ChromeDriverService.java:417)
    at org.openqa.selenium.chrome.ChromeDriverService$Builder.createDriverService(ChromeDriverService.java:197)
    at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:507)
    at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:166)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:50)
    at rocketlaunch.SeleniumScript.main(SeleniumScript.java:11)
Caused by: java.lang.ClassNotFoundException: com.google.common.io.ByteStreams
    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:520)
    ... 7 more

解决步骤:

  • 修正系统属性拼写错误
    代码里websdriver.chrome.driver多写了一个s,必须改成webdriver.chrome.driver,否则系统无法正确识别ChromeDriver的路径配置。

  • 添加Guava依赖库
    错误提示的com.google.common.io.ByteStreams属于Guava(谷歌通用工具库),是Selenium运行的必要依赖。你需要下载与当前使用的Selenium版本匹配的Guava JAR文件,添加到项目的构建路径中,避免版本冲突导致的加载失败。

修正后的代码:

package XYZ;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class SeleniumScript {

    public static void main(String[] args) {
        // 修正拼写错误
        System.setProperty("webdriver.chrome.driver", "/Users/MYNAME/Desktop/chromedriver");
        WebDriver driver = new ChromeDriver();
        driver.get("https://google.com/");
        System.out.print(driver.getTitle());
        driver.quit();
    }
}

内容的提问来源于stack exchange,提问作者Lars Huls

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 16:06:18