Cassandra и R через JDBC: java.lang.NoClassDefFoundError: не удалось инициализировать класс org.apache.cassandra.cql.jdbc.Utils

Я пытаюсь получить доступ к Cassandra с помощью R через JDBC. К сожалению, даже если у меня правильно установлен пакет jar cassandra-jdbc-1.2.5.jar в /usr/share/cassandra/lib/, содержащий файл org/apache/cassandra/cql/jdbc/Utils.class, я получаю следующую ошибку:

> library(RJDBC)
Loading required package: DBI
Loading required package: rJava
> cassdrv <- JDBC("org.apache.cassandra.cql.jdbc.CassandraDriver",
+ list.files("/usr/share/cassandra/lib/",pattern="jar$",full.names=T))
>  #Connect to Cassandra node and Keyspace
> casscon <- dbConnect(cassdrv, "jdbc:cassandra://localhost:9160/something")
Error in .jcall(drv@jdrv, "Ljava/sql/Connection;", "connect", as.character(url)[1],  : 
  java.lang.NoClassDefFoundError: Could not initialize class org.apache.cassandra.cql.jdbc.Utils

(С использованием cassandra 2.1.2, cassandra JDBC 1.2.5, R 3.1.2, CentOS Linux версии 7.0.1406)

Любая идея о том, почему это происходит?

Кроме того, я открыл этот отчет об ошибке: https://code.google.com/a/apache-extras.org/p/cassandra-jdbc/issues/detail?id=100


person fstab    schedule 22.12.2014    source источник


Ответы (1)


Если существует несоответствие между версией java для rJava и версией, используемой для компиляции jar-файлов Cassandra, они могут не включаться в путь к классам, даже если о них сообщает .jclassPath().

person jamie.f.olson    schedule 20.01.2015