java.lang.NoSuchMethodError: com.google.common.collect.Sets.newConcurrentHashSet

17,360

You should remove google-collections-1.0.jar.

Google Collection is renamed to Guava so you have multiple implementation of the same classes. And the "old" implementation of com.google.common.collect.Sets does not have this method and thats why you get the NoSuchMethodError.

https://code.google.com/archive/p/google-collections/

Share:
17,360
srai
Author by

srai

Updated on June 04, 2022

Comments

  • srai
    srai almost 2 years

    I am trying to use the sstableloader for bulk loading to Cassandra. I am trying to use code from here : https://github.com/yukim/cassandra-bulkload-example

    I run into java.lang.NoSuchMethodError: com.google.common.collect.Sets.newConcurrentHashSet exception during running of application. The application imports the following libraries :

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.List;
    
    import org.supercsv.io.CsvListReader;
    import org.supercsv.prefs.CsvPreference;
    
    import org.apache.cassandra.config.Config;
    import org.apache.cassandra.dht.Murmur3Partitioner;
    import org.apache.cassandra.exceptions.InvalidRequestException;
    import org.apache.cassandra.io.sstable.CQLSSTableWriter;
    

    The exception is coming from the following line of code :

        // Prepare SSTable writer
    CQLSSTableWriter.Builder builder = CQLSSTableWriter.builder();
    

    I am using the following external jars for my application :

    super-csv-2.0.0.jar
    cassandra-all-3.4.jar
    gradle-wrapper.jar
    slf4j-api-1.7.19.jar
    concurrentlinkedhashmap-lru-1.3.jar
    slf4j-simple-1.7.19.jar
    guava.jar
    google-collections-1.0.jar
    

    I am unable to figure which libraries i am missing.

    enter image description here

    Digging into com.google.comman.collect.Sets i cannot find the newConcurrentHashSet method. However the code seems to be calling it

    enter image description here