Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.NoSuchMethodError:com.google.common.base.Premissions_Java_Selenium_Jakarta Ee_Guava - Fatal编程技术网

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

java.lang.NoSuchMethodError:com.google.common.base.Premissions,java,selenium,jakarta-ee,guava,Java,Selenium,Jakarta Ee,Guava,我得到这个错误 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

我得到这个错误

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)
我曾读到,这可能是因为我的番石榴版本,但我的番石榴版本是更新的,我不知道为什么我得到这个错误

在我的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>

爪哇

看起来像是类路径问题。我们的类路径中有什么版本的guava-X.jar?(最有可能在webapp的WEB-INF/lib中)。可能的解决方案是在pom.xml中显式声明guava的最新版本。对于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>

番石榴
番石榴
24.0-jre

看起来像是类路径问题。我们的类路径中有什么版本的guava-X.jar?(最有可能在webapp的WEB-INF/lib中)。可能的解决方案是在pom.xml中显式声明guava的最新版本。对于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>

番石榴
番石榴
24.0-jre

当我从库路径中删除Google Collections jar时,我找到了一个可能相关错误消息的解决方案


(来源)

当我从lib路径中删除Google Collections jar时,我找到了一个可能相关错误消息的解决方案


(来源)

Im使用guava-23.6-jre,我尝试添加此依赖项,它将我更新到guava 24.0-jre,但仍然不起作用。我尝试了从24.0-jre到18.0的所有版本的guava,但没有一个有效。您是否检查过,当您在pom中更改版本时,此版本实际上被放入WEB-INF/lib文件夹?我的WEB-INF文件夹为空,里面没有任何lib文件夹。我将上传我的项目结构的截图。是的,它是空的,因为这些是来源。一旦您的项目被构建并部署到服务器(tomcat?-to-webapps文件夹),那么它很可能被打包为project.war文件。这是一个zip存档文件-如果您将其重命名为project.zip,然后解包,您应该会在WEB-INF one.Im中看到一个lib文件夹,它使用的是guava-23.6-jre,我尝试添加此依赖项,它会将我更新到guava 24.0-jre,但仍然不起作用。我尝试了从24.0-jre到18.0的所有版本的guava,但没有人起作用。您是否检查过,当您在pom中更改版本时,此版本实际上会放入WEB-INF/lib文件夹?我的WEB-INF文件夹为空,其中没有任何lib文件夹。我将上传我的项目结构的截图。是的,它是空的,因为这些是来源。一旦您的项目被构建并部署到服务器(tomcat?-to-webapps文件夹),那么它很可能被打包为project.war文件。这是一个zip归档文件-如果您将其重命名为project.zip,然后解包,您应该会在WEB-INF中看到一个lib文件夹。