简体   繁体   English

java.lang.NoSuchMethodError:com.google.common.base.Preconditions

[英]java.lang.NoSuchMethodError: com.google.common.base.Preconditions

Im getting this error 我收到这个错误

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:124)
at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:32)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:339)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)

Im building a bot for social media , so Im using Selenium libraries, and the bot works fine on a Java Application , but when I copy the code to a Web Application where I have a Servlet listening to my Android application , when I run the servlet , and the servlet calls the code of the bot that use Selenium, it throws that error when it comes to that line 我建立了一个用于社交媒体的机器人,因此我使用Selenium库,并且该机器人在Java应用程序上运行良好,但是当我将代码复制到Web应用程序时,当我运行servlet时,我的Servlet正在监听我的Android应用程序,并且Servlet调用使用Selenium的机器人的代码,当涉及到该行时,它将引发该错误

System.setProperty("webdriver.chrome.driver", "C:\\Users\\manue\\OneDrive\\Escritorio\\chromedriver.exe");
    driver = new ChromeDriver();

I had read that it can be becouse of the version of guava that I have , but my version of guava is updated , and I dont know why Im getting this error. 我已经读到它可能是因为我拥有的guava版本,但是我的guava版本已更新,我不知道为什么我会收到此错误。

In my maven pom.xml I have the dependencies like this 在我的maven pom.xml中,我有这样的依赖项

    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-web-api</artifactId>
        <version>7.0</version>
        <scope>provided</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.10.0</version>
    </dependency>

Here there is a screenshot of the structure of my project. 这里是我的项目结构的屏幕截图。 screenshot of my project 我的项目的屏幕截图

I found a solution to a possibly related error message when I removed the Google Collections jar from the lib path. 当我从lib路径中删除Google Collections jar时,我找到了一种可能相关的错误消息的解决方案。

(Source) (资源)

Looks like a classpath issue. 看起来像类路径问题。 What version of guava-X.jar do you have in our classpath? 您在我们的类路径中有什么版本的guava-X.jar? (most probably in WEB-INF/lib of webapp). (最有可能在webapp的WEB-INF / lib中)。 Possible solution is to declare latest version of guava in your pom.xml explicitly. 可能的解决方案是在pom.xml中显式声明最新版本的guava。 For 3.10.0 of selenium, you need: 对于3.10.0的硒,您需要:

<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>24.0-jre</version>
</dependency>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState - java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState ANDROID错误:java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkState - ANDROID ERROR: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument - java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument 线程“main”中的异常 java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;) - Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;) 错误:: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V - Error :: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;I)V 与 IE 和 Selenium 通过 Java - java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;I)V with IE and Selenium through Java java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkState(ZLjava/lang/String;) 与 Selenium、gradle 和 ChromeDriver - java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;) with Selenium, gradle and ChromeDriver Cloud Vision API 线程“main”中的异常 java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument - Cloud Vision API Exception in thread “main” java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument “main” java.lang.NoSuchMethodError: 'void com.google.common.base.Preconditions.checkArgument(boolean, java.lang.String, char, java.lang.Object)' - “main” java.lang.NoSuchMethodError: 'void com.google.common.base.Preconditions.checkArgument(boolean, java.lang.String, char, java.lang.Object)' java.lang.NoSuchMethodError: 'void com.google.common.base.Preconditions.checkArgument(boolean, java.lang.String, java.lang.Object) - java.lang.NoSuchMethodError: 'void com.google.common.base.Preconditions.checkArgument(boolean, java.lang.String, java.lang.Object)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM