java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;) with Selenium, gradle and ChromeDriver

前端 未结 7 1675
别跟我提以往
别跟我提以往 2020-11-27 08:28

I am trying to use Selenium api with Gradle. This is my build.gradle dependency section:

dependencies {
    compile \'com.google.api-client:google-api-clien         


        
相关标签:
7条回答
  • 2020-11-27 08:55

    Just wanted to post here in case anyone else comes to this from Google like I did. For whatever reason, I needed to run with sudo. I was having issues using the npm selenium-standalone package and running:

    /node_modules/selenium-standalone/bin/selenium-standalone start
    

    And it would show that error. What fixed it was running with sudo

    sudo /node_modules/selenium-standalone/bin/selenium-standalone start
    

    I don't think I needed to do this before but suddenly it's the only way it works now.

    0 讨论(0)
  • 2020-11-27 08:58

    I have the exact same problem (I am using Maven though).

    I noticed that the problem is that using one of com.google.api-client, or com.google.oauth-client, or com.google.apis:google-api-services-sheets alongside org.seleniumhq.selenium causes the error.

    The problem is that both dependencies depend on a different com.google.guava:guava artifact.

    In order to solve the error, you should explicitly depend on a single com.google.guava:guava artifact. So go ahead and add the following in your build.gradle:

    compile 'com.google.guava:guava:27.0.1-jre'

    0 讨论(0)
  • 2020-11-27 09:00

    I had the same problem and ran a dependency check and found that there were conflicts. The solution that worked for me was to exclude the conflicting dependencies.

    Your project will probably have different dependencies than mine. So, listing the specific conflicts in my project may not be helpful.

    0 讨论(0)
  • 2020-11-27 09:11

    Try to update your Guava to

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

    It will solve your issue.

    0 讨论(0)
  • 2020-11-27 09:17

    Just adding the below was not enough

    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>27.1-jre</version>
    </dependency>
    

    It was not working first. Then I moved this dependency up higher in pom.xml than junit dependency and it worked. So, make sure that in pom file ,it is higher than junit or testng or whatever runner you are using

    A comment in this post helped

    0 讨论(0)
  • 2020-11-27 09:20

    copy and paste the following dependencies in the pom.xml and then do a maven build:

     <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
          <scope>test</scope>
        </dependency>
    
          <!-- https://mvnrepository.com/artifact/org.testng/testng -->
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>7.1.0</version>
        <scope>test</scope>
    </dependency>
    
        <!-- https://mvnrepository.com/artifact/io.rest-assured/rest-assured -->
    <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>rest-assured</artifactId>
        <version>3.0.0</version>
        <scope>test</scope>
    </dependency>
    
        <!-- https://mvnrepository.com/artifact/io.rest-assured/json-path -->
    <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>json-path</artifactId>
        <version>3.0.0</version>
    </dependency>
    
        <!-- https://mvnrepository.com/artifact/io.rest-assured/json-schema-validator -->
    <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>json-schema-validator</artifactId>
        <version>3.0.0</version>
    </dependency>
    
    <!-- https://mvnrepository.com/artifact/io.rest-assured/xml-path -->
    <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>xml-path</artifactId>
        <version>3.0.0</version>
    </dependency>
    
        <!-- https://mvnrepository.com/artifact/org.hamcrest/java-hamcrest -->
    <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>java-hamcrest</artifactId>
        <version>2.0.0.0</version>
        <scope>test</scope>
    </dependency>
    
    
        <!-- cucumber dependency begins -->
    
    
        <!-- https://mvnrepository.com/artifact/net.masterthought/cucumber-reporting -->
        <dependency>
        <groupId>net.masterthought</groupId>
        <artifactId>cucumber-reporting</artifactId>
        <version>4.7.0</version>
        </dependency>
    
        <!-- starts here -->
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-core</artifactId>
            <version>1.2.5</version>
        </dependency>
    
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>1.2.5</version>
            <scope>test</scope>
        </dependency>
    
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-jvm</artifactId>
            <version>1.2.5</version>
            <type>pom</type>
        </dependency>
    
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>1.2.5</version>
            <scope>test</scope>
        </dependency>
    
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-jvm-deps</artifactId>
            <version>1.0.5</version>
        </dependency>
    
        <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-html -->
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-html</artifactId>
        <version>0.2.3</version>
    </dependency>
    
    <!-- https://mvnrepository.com/artifact/info.cukes/gherkin -->
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>gherkin</artifactId>
        <version>2.12.2</version>
        <scope>provided</scope>
    </dependency>
    
    
    <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-testng -->
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-testng</artifactId>
        <version>5.4.2</version>
    </dependency>
    
    <!-- https://mvnrepository.com/artifact/com.theoryinpractise/cucumber-testng-factory -->
    <dependency>
        <groupId>com.theoryinpractise</groupId>
        <artifactId>cucumber-testng-factory</artifactId>
        <version>1.0.1</version>
    </dependency>
    <!--   https://stackoverflow.com/questions/49021707/java-lang-nosuchmethoderror-com-google-common-base-preconditions-checkstatezlj?rq=1  -->
    <!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>27.1-jre</version>
    </dependency>
    
      </dependencies>
    
    0 讨论(0)
提交回复
热议问题