Ich habe eine einfache Verbindung zu meiner Cassandra-Instanz über Java ausprobiert. Ich habe einen "Demo" -Keyspace zu cqlsh gemacht und eine Tabelle im Java-Programm erstellt. Der Code ist unten:Cassandra Java-Verbindungsfehler
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");
}
}
ich die folgende Fehlermeldung erhalten:
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
Was bin ich? Es gibt keine sichtbaren Fehler im Code.
Fehler nach SLF4J JAR-Datei hinzufügen:
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
Klingt so, als ob Sie SLF4J zur Laufzeit nicht auf Ihrem Klassenpfad haben. –
Ich habe die Datei SLF4J api jar hinzugefügt ... aber es zeigt immer noch einige Fehler .. –
Welche Ausnahmen sehen Sie jetzt? – ck1