1

I am getting the below error:

java.lang.NoSuchMethodError:
com.google.common.base.Objects.firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    at com.datastax.driver.core.policies.Policies$Builder.build(Policies.java:285)
    at com.datastax.driver.core.Cluster$Builder.getConfiguration(Cluster.java:1246)

This is happening while trying to connect to Cassandra from java code. I am able to connect in a different repo with some set of drivers. But in an automation code base of Selenium I am getting this exception.

Please can you suggest if something else is missng which is causing this issue.

Its failing at this step:

cluster = Cluster.builder().addContactPoint("connection_Details").withPort(9042)
          .withCredentials("username", "password").withSSL().withSocketOptions(new SocketOptions().setConnectTimeoutMillis(2000)).build();

Below is my Ivy file:

<?xml version="1.0" encoding="ISO-8859-1"?> <ivy-module
version="2.0"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
    <info organisation="com.jcp.transformer" module="Transformer"
status="integration">   </info>

    <dependencies>      <!--<dependency org="io.appium" name="java-client"
rev="4.1.2" />-->       <dependency org="io.appium" name="java-client"
rev="6.1.0">            <artifact name="java-client" type="jar"></artifact>
            <exclude org="org.slf4j" module="slf4j-jdk14"/>
            <exclude org="org.slf4j" module="slf4j-log4j12"/>
            <exclude org="ch.qos.logback" module="logback-classic"/>        </dependency>       <!--
https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency org="com.google.guava" name="guava" rev="19.0"/>

        <dependency org="org.aspectj" name="aspectjtools" rev="1.9.1">
            <artifact name="aspectjtools" type="jar"></artifact>
        </dependency>       <dependency org="org.aspectj"
name="aspectjweaver" rev="1.9.1" />         <dependency
org="org.seleniumhq.selenium" name="selenium-remote-driver"
            rev="3.7.1" />      <dependency org="org.seleniumhq.selenium"
name="selenium-java"            rev="3.7.1" />      <dependency
org="org.seleniumhq.selenium" name="selenium-support" rev="3.0.0"
force="true"/>      <dependency org="com.google.guava" name="guava"
rev="19.0" />       <dependency org="org.imgscalr" name="imgscalr-lib"
rev="4.2" />        <dependency org="com.madgag" name="animated-gif-lib"
rev="1.2" />        <dependency org="com.github.fge"
name="json-schema-validator"            rev="2.2.6" />      <dependency
org="com.jayway.restassured" name="rest-assured"            rev="2.4.1" />
        <dependency org="com.jayway.restassured"
name="json-schema-validator"            rev="2.1.0" />      <dependency
org="ant-contrib" name="ant-contrib" rev="1.0b3"/>      <dependency
org="javax.mail" name="mail" rev="1.4.7"/>      <dependency
org="net.sourceforge.htmlunit" name="htmlunit" rev="2.12"/>
        <dependency org="com.jayway.jsonpath" name="json-path" rev="1.1.0"
/>      <dependency org="com.jayway.jsonpath" name="json-path-assert"
            rev="1.1.0" />      <dependency org="com.saucelabs" name="saucerest"
rev="1.0.35"/>      <dependency org="com.tibco" name="tibjms"
rev="6.0.1" force="true" changing="true">
          <artifact name="tibjms" type="jar"> </artifact>       </dependency>       <dependency org="com.jcpenney" name="transformer" rev="3.1.5">
          <artifact name="transformer" type="jar"> </artifact>
          </dependency>         <dependency org="com.sun.jersey" name="jersey-client" rev="1.11"  />        <dependency
org="com.sun.jersey" name="jersey-core" rev="1.11">             <exclude
name="mail" type="jar" />       </dependency>           <dependency
org="com.datastax.cassandra" name="cassandra-driver-core"
rev="3.0.0"/>       <dependency org="com.datastax.cassandra"
name="cassandra-driver-mapping" rev="3.0.0"/>       <dependency
org="com.sun.jersey.contribs" name="jersey-apache-client"
            rev="1.17.1"/>
          <dependency org="org.testng" name="testng" rev="6.9.10">          <artifact name="testng" type="jar"></artifact>      </dependency>
        <dependency org="net.sourceforge.jexcelapi" name="jxl"
rev="2.6.12" >          <artifact name="jxl" type="jar"></artifact>
        </dependency>
                <dependency org="commons-codec" name="commons-codec" rev="1.8" />       <dependency org="commons-configuration"
name="commons-configuration"            rev="1.7" />            <dependency
org="commons-io" name="commons-io" rev="2.5"/>      <dependency
org="com.jayway.jsonpath" name="json-path" rev="0.8.1" /> 
        <dependency org="com.jayway.jsonpath" name="json-path-assert"
            rev="0.8.1" />
                        <dependency org="org.json" name="json" rev="20160810"/>         <dependency org="sshtools" name="j2ssh-core" rev="0.2.9" />
        <dependency org="org.apache.activemq" name="activemq-all"
rev="5.14.2" force="true" changing="true">
          <artifact name="activemq-all" type="jar"> </artifact>             </dependency>       <dependency org="com.google.code.gson"
name="gson" rev="2.1">          <artifact name="gson"
type="jar"></artifact>      </dependency>
                <dependency org="org.skyscreamer" name="jsonassert" rev="1.4.0"/>       <dependency org="com.jayway.jsonpath"
name="json-path" rev="2.2.0"/>      <dependency org="net.lightbody.bmp"
name="browsermob-proxy" rev="2.0.0"/>       <dependency
org="io.rest-assured" name="rest-assured" rev="3.0.0"/>
        <dependency org="io.rest-assured" name="json-path" rev="3.0.0"/>
        <dependency org="io.rest-assured" name="json-schema-validator"
rev="3.0.0"/>       <dependency org="oracle" name="ojdbc7" force="true"
rev="" changing="true">
          <artifact name="ojdbc7" type="jar"> </artifact>       </dependency>       <dependency org="com.mysql.jdbc" name="jdbc" force="true" rev=""
changing="true">
          <artifact name="jdbc" type="jar"> </artifact>         </dependency>       <dependency org="com.microsoft.sqlserver" name="mssql-jdbc"
rev='7.0.0.jre8'/>      <dependency org="oracle.xdb" name="oracle.xdb"
force="true" rev="" changing="true">
          <artifact name="oracle.xdb_12.1.0" type="jar"> </artifact>        </dependency>       <dependency org="org.projectlombok" name="lombok"
rev="1.18.2"/>      <dependency org="io.netty" name="netty-tcnative"
rev="2.0.0.Final"/>         <dependency org="org.postgresql"
name="postgresql" rev="42.2.2"/>         <dependency
org="com.teradata.jdbc" name="terajdbc4" rev="14.00.00.21"/>        
<dependency org="com.teradata.jdbc" name="tdgssconfig"
rev="14.00.00.21"/>     </dependencies> </ivy-module>
Aaron
  • 55,518
  • 11
  • 116
  • 132
  • 3
    This most likely happens because you are *running* your code with a different version of Google Guava than what you *compiled* it with, or because you are using a version of Google Guava that is incompatible with some other library (such as the Datastax driver). Make sure you use the correct version of Google Guava. – Jesper Oct 04 '22 at 09:39

0 Answers0