[英]Jersey Startup Issue : java.lang.NoSuchMethodError: com.google.common.collect.Sets.newIdentityHashSet()
[英]java.lang.NoSuchMethodError: com.google.common.collect.Sets.newConcurrentHashSet
我正在嘗試使用sstableloader批量加載到Cassandra。 我正在嘗試使用此處的代碼: https : //github.com/yukim/cassandra-bulkload-example
我在運行應用程序期間遇到了java.lang.NoSuchMethodError:com.google.common.collect.Sets.newConcurrentHashSet異常。 該應用程序導入以下庫:
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;
例外情況來自以下代碼行:
// Prepare SSTable writer
CQLSSTableWriter.Builder builder = CQLSSTableWriter.builder();
我正在為我的應用程序使用以下外部jar:
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
我無法確定我缺少哪些庫。
深入研究com.google.comman.collect.Sets我找不到newConcurrentHashSet方法。 但是代碼似乎在調用它
你應該刪除google-collections-1.0.jar
。
Google Collection已重命名為Guava,因此您可以多次實現相同的類。 com.google.common.collect.Sets
的“舊”實現沒有這個方法,這就是為什么你得到NoSuchMethodError
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.