java.lang.NoSuchMethodError: com.google.common.collect.Sets.newConcurrentHashSet
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/
srai
Updated on June 04, 2022Comments
-
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.
Digging into com.google.comman.collect.Sets i cannot find the newConcurrentHashSet method. However the code seems to be calling it