Я пробовал простую связь с экземпляром Cassandra через Java. Я создал «demo» keypace для cqlsh и создал таблицу в java-программе. Код ниже:Ошибка связи Cassandra Java
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Session;
import java.lang.*;
import java.io.*;
public class GettingStarted {
public static void main(String args[])
{
Cluster clusters;
Session sessions;
clusters =Cluster.builder().addContactPoint("127.0.0.1").build();
sessions =clusters.connect("demo");
String query ="CREATE TABLE emp(emp_id int PRIMARY KEY, emp_name text, emp_city text, emp_sal int, emp_phone varint);";
sessions.execute(query);
System.out.println("table created");
}
}
Я получаю следующее сообщение об ошибке:
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at com.datastax.driver.core.Cluster.<clinit>(Cluster.java:63)
at GettingStarted.main(GettingStarted.java:12)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 2 more
Что мне не хватает? В коде отсутствуют видимые ошибки.
Ошибки после добавления файла SLF4J баночку:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/util/concurrent/FutureCallback
at com.datastax.driver.core.Cluster.<init>(Cluster.java:89)
at com.datastax.driver.core.Cluster.buildFrom(Cluster.java:145)
at com.datastax.driver.core.Cluster$Builder.build(Cluster.java:981)
at GettingStarted.main(GettingStarted.java:12)
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.FutureCallback
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 4 more
Похоже, что у вас нет SLF4J на пути к классу во время выполнения. –
Я добавил файл api jar SLF4J, но он все еще показывает некоторые ошибки. –
Какие исключения вы видите сейчас? – ck1