获取错误线程“main”中的异常java.lang.NoClassDefFoundError:com / google / common / util / concurrent / FutureCallback,在代码下运行时。请告知我缺少哪个Jar文件。我正在从Eclipse IDE执行
package Datastax;
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Host;
import com.datastax.driver.core.Metadata;
import com.datastax.driver.core.Session;
public class DataStaxPOC {
private Cluster cluster;
public void connect(String node) {
cluster = Cluster.builder().addContactPoint(node).build();
Metadata metadata = cluster.getMetadata();
System.out.printf("Connected to cluster: %s\n", metadata.getClusterName());
for ( Host host : metadata.getAllHosts() ) {
System.out.printf("Datatacenter: %s; Host: %s; Rack: %s\n",host.getDatacenter(), host.getAddress(), host.getRack());
}
}
public void close() {
cluster.shutdown();
}
public static void main(String[] args) {
DataStaxPOC client = new DataStaxPOC();
client.connect("127.0.0.1");
client.close();
}
}
答案 0 :(得分:9)
要设置您的环境,您需要以下资源:
否则,如果您使用像Eclipse这样的IDE,则可以使用Maven。有关依赖示例,请参阅以下链接:http://www.datastax.com/documentation/developer/java-driver/2.1/common/drivers/introduction/driverDependencies_r.html
请注意,您还需要确保start_native_transport: true
位于上面链接中概述的cassandra.yaml配置文件中。
要将Maven安装到Eclipse中,我建议您逐步使用这个优秀的步骤:Maven in Eclipse: step by step installation
希望这有帮助!
答案 1 :(得分:2)
你需要有cassandra-driver-core-2.0.1.jar,netty-3.9.0-Final.jar,guava-16.0.1.jar,metrics-core-3.0.2.jar和slf4j-类路径上的api-1.7.5.jar。
答案 2 :(得分:1)
我也面临同样的问题,但在添加以下罐子后,问题得到解决, 1. bsh-2.0b4.jar 2. guava-16.0.1.jar 3. jcommander-1.27.jar 4. log4j-1.2.17.jar 5. lz4-1.2.0.jar 6. metrics-core-3.0.2.jar 7. netty-3.9.0.Final 8. slf4j-api-1.7.5.jar 9. slf4j-log4j12-1.7.6.jar 10. snappy-java-1.0.5.jar。
希望这会对你有所帮助:)。