Java中的NoClassDefoundError:com/google/public/base/function

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

当我执行以下代码时:

public static void main(String[] args) {
    try {
        FirefoxDriver driver = new FirefoxDriver();
        driver.get("http:www.yahoo.com");
    } catch (NoClassDefFoundError ex) {
        System.out.println("error: " + ex.getStackTrace());
    }
}

我得到以下错误:

错误:[Ljava.lang.StackTraceElement;@80f4cb 线程“main”中的异常java.lang.NoClassDefFoundError:com/google/public/base/function

有人能帮我找到解决办法或原因吗?

提问于
用户回答回答于

NoClassDefFoundError当JRE找不到类时引发A。在你的情况下,它找不到com.google.common.base.Function你最可能没有添加到类路径中的类。

编辑

下载以下库之后:

并将它们解压缩并将所有JAR文件放入一个称为lib测试类的文件夹中:

import org.openqa.selenium.firefox.FirefoxDriver;

public class Test {
    public static void main(String[] args) {
        try{
            FirefoxDriver driver = new FirefoxDriver();
            driver.get("http:www.yahoo.com");
        } catch(Exception e){
            e.printStackTrace();
        }
    }
}

跑了没有任何问题。

可以编译并运行该类,如下所示:

#编译并在Linux和Mac上运行
javac -cp。:lib / * Test.java 
java -cp。:lib / * Test

#编译并在Windows上运行
javac -cp。; lib / * Test.java 
java -cp。; lib / * Test

扫码关注云+社区