簡體   English   中英

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

[英]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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM