当前位置: 首页 > 知识库问答 >
问题:

获取异常线程"main"java.lang.NoClassDefFoundError: com/google/Common/base/Function

谭吉星
2023-03-14

好的,我正在使用eclipse-neon-Client-combined-3.1.0-nodeps。firefox安装程序39.0的jar

这是我的代码

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class T1 {

    public static void main(String[] args){


    WebDriver driver = new FirefoxDriver();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);


    driver.navigate().to("https://www.orbitz.com/");

    driver.manage().window().maximize();

    driver.findElement(By.xpath(".//*[@id='primary-header-hotel']")).click();


    String result = driver.getPageSource();

    System.out.println("result is "+" "+ result);

    driver.close();
}

}

这就是错误

线程“main”java中出现异常。lang.NoClassDefFoundError:com/google/common/base/Function at T1。main(T1.java:12)由:java引起。lang.ClassNotFoundException:com.google.常见的基础java上的函数。网URLClassLoader。java上的findClass(未知源)。lang.ClassLoader。sun上的loadClass(未知源)。其他。启动器$AppClassLoader。java上的loadClass(未知源)。lang.ClassLoader。loadClass(未知源)。。。1个以上

我已经看到了为guava-21.0添加路径的解决方案

但更多的错误

线程“main”java中出现异常。lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver设置。壁虎。驱动系统属性;有关更多信息,请参阅https://github.com/mozilla/geckodriver.最新版本可从以下网站下载:https://github.com/mozilla/geckodriver/releases在com.google.常见的基础先决条件。org上的checkState(Preconditions.java:738)。openqa。硒。遥远的服务驾驶员服务。findExecutable(DriverService.java:111)位于org。openqa。硒。firefox。GeckoDriverService。在org上访问100美元(GeckoDriverService.java:38)。openqa。硒。firefox。GeckoDriverService$Builder。findDefaultExecutable(GeckoDriverService.java:112)位于org。openqa。硒。遥远的服务DriversService$Builder。在org上构建(DriverService.java:302)。openqa。硒。firefox。FirefoxDriver。在org上创建CommandExecutor(FirefoxDriver.java:312)。openqa。硒。firefox。FirefoxDriver。(FirefoxDriver.java:272)org。openqa。硒。firefox。FirefoxDriver。(FirefoxDriver.java:267)org。openqa。硒。firefox。FirefoxDriver。(FirefoxDriver.java:263)org。openqa。硒。firefox。FirefoxDriver。(FirefoxDriver.java:122)在T1。主(T1.java:12)

添加代码行后,仍然Client-combined-3.1.0-nodeps.jar火狐52.0.1和使用geckodriver-v0.15.0-win64,仍然得到同样的错误

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;



public class T1 {

    public static void main(String[] args){

    System.setProperty("webdriver.gecko.driver","C:\\Users\\ahmed\\Desktop\\geckodriver.exe"); 
    WebDriver driver = new FirefoxDriver();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);


    driver.navigate().to("https://www.orbitz.com/");

    driver.manage().window().maximize();

    driver.findElement(By.xpath(".//*[@id='primary-header-hotel']")).click();


    String result = driver.getPageSource();

    System.out.println("result is "+" "+ result);

    driver.close();
}

}

这是错误

线程“main”java中出现异常。lang.NoClassDefFoundError:com/google/common/base/Function at T1。main(T1.java:14)由:java引起。lang.ClassNotFoundException:com.google.常见的基础java上的函数。网URLClassLoader。java上的findClass(未知源)。lang.ClassLoader。sun上的loadClass(未知源)。其他。启动器$AppClassLoader。java上的loadClass(未知源)。lang.ClassLoader。loadClass(未知源)。。。1个以上

共有1个答案

尚声
2023-03-14

在Selenium 3.1.0中,您必须执行以下操作来初始化gecko驱动程序:

System.setproperty("webdriver.gecko.driver","C:\\geckodriver_location\\geckodriver.exe");

网络驱动程序=新的Firefox驱动程序();

运行代码。这应该是成功。如果这对你有效,请告诉我。

 类似资料:
  • 问题内容: 当我按如下方式运行程序时,我遇到了异常, java -jar MQprogram.jar 我已经正确设置了classpath,它引用了所有必需的jar,“ com.ibm.mq.jmqi.jar”也引用了具有MQException的classpath。 我仍然不清楚错误在哪里。 问题答案: 这几乎总是由客户端安装不完整和/或CLASSPATH问题共同引起的。许多人抓住了jar文件,而不

  • mvn清洁编译 然后,为了执行jar,我运行了以下命令: Java-CP target/classes org.wso2.adaptive_concurrency_control.adaptiveConcurrencyControl

  • 问题内容: 我是Java和OOP的新手,这是我的问题。当我运行以下代码时,我得到了 线程“主”中的异常java.lang.StackOverflowError。 问题出在我创建对象的代码中。class不会发生问题。如果在run方法内部创建对象,则代码可以正常工作。你能解释一下为什么吗? 问题答案: 您的类的字段包含类的另一个实例,也有自己的字段,包含的另一个实例,依此类推。 换句话说,当您创建该实

  • 问题内容: 我刚开始学习TestNG。我遵循以下步骤: 我创建了testng类 @Test(dataProvider =“ registerData”) 我写了一个有四个参数的方法 @DataProvider 通话数据提供商 然后出现以下错误: 我正在使用Eclipse Luna Release 2(4.4.2),Window 7 问题答案: 似乎jar下方的您的类路径中不可用。com.googl

  • 问题内容: 我想以编程方式调用testng。不蚀插件。 我已经关联了“ testng-6.8.21.jar”并通过eclipse运行,我在以下代码下运行: 低于异常。我如何克服这个例外。 问题答案: 更改: 通过: 所有代码是 TestNG代码是: 控制台结果:

  • 最近我正在学习Spring框架。所以我正在尝试检查依赖注入在Spring框架中的工作原理。因此,我创建了一个新的java项目并使用基于构造函数XML的配置练习依赖注入代码。运行我的项目后,我收到了这个错误...... 类路径资源[com/mir00r/beans.XML]的XML文档中的第24行无效;嵌套异常为组织。xml。萨克斯。SAXParseException;行号:24;列数:9;cvc复