J'essayais une simple connexion à mon instance Cassandra via Java. J'ai créé un espace-clé «démo» dans cqlsh et créé une table dans le programme Java. Le code est ci-dessous:
Bocaux utilisés:
cassandra-all-2.1.2
public class CassandraConnection {
public static void main(String[] args){
String ipAddress="127.0.0.1";
String keySpace="demo";
Cluster cluster;
Session session;
cluster=Cluster.builder().addContactPoint(ipAddress).build();
session=cluster.connect(keySpace);
System.out.println("====================Before insert");
String cqlInsertStmt="insert into users (lastname,age,city,email,firstname) values"
+"('Gopalan',32,'Paramakkudi','[email protected]','Murugan') ";
session.execute(cqlInsertStmt);
String cqlSelectStmt="select * from users";
ResultSet resultSet=session.execute(cqlSelectStmt);
System.out.println("=================After insert");
for(Row row: resultSet){
System.out.format("%s %s %d %s %s \n", row.getString("firstname"),row.getString("lastname"),row.getInt("age"),row.getString("city"),row.getString("email"));
}
System.out.println("=================After update");
}
}
Je reçois l'erreur suivante:
Failed to instantiate SLF4J LoggerFactory
Reported exception:
Java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/JoranException
at org.slf4j.LoggerFactory.bind(LoggerFactory.Java:150)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.Java:124)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.Java:412)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.Java:357)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.Java:383)
at com.datastax.driver.core.Cluster.<clinit>(Cluster.Java:60)
at CassandraConnection.main(CassandraConnection.Java:21)
Caused by: Java.lang.ClassNotFoundException: ch.qos.logback.core.joran.spi.JoranException
at Java.net.URLClassLoader$1.run(Unknown Source)
at Java.net.URLClassLoader$1.run(Unknown Source)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.net.URLClassLoader.findClass(Unknown Source)
at Java.lang.ClassLoader.loadClass(Unknown Source)
at Sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at Java.lang.ClassLoader.loadClass(Unknown Source)
... 7 more
Exception in thread "main" Java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/JoranException
at org.slf4j.LoggerFactory.bind(LoggerFactory.Java:150)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.Java:124)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.Java:412)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.Java:357)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.Java:383)
at com.datastax.driver.core.Cluster.<clinit>(Cluster.Java:60)
at CassandraConnection.main(CassandraConnection.Java:21)
Caused by: Java.lang.ClassNotFoundException: ch.qos.logback.core.joran.spi.JoranException
at Java.net.URLClassLoader$1.run(Unknown Source)
at Java.net.URLClassLoader$1.run(Unknown Source)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.net.URLClassLoader.findClass(Unknown Source)
at Java.lang.ClassLoader.loadClass(Unknown Source)
at Sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at Java.lang.ClassLoader.loadClass(Unknown Source)
... 7 more
Vous devez vous assurer que le fichier JAR logback se trouve dans votre chemin de classe.
Voir ici pour les débutants; et au-delà le vrai emporter ici: le runtime vous dit qu'il ne peut pas trouver une certaine classe; et cela vous donne le nom complet de cette classe. Ou vous regardez ici pour lire ce que Cassandra a à dire sur le retour en arrière.
Vous prenez cette entrée; et ensuite vous vous adressez à votre moteur de recherche préféré afin de comprendre ce qui se passe.
La cause fondamentale de ce problème est que les fichiers JAR requis ne sont pas disponibles dans CLASSPATH. S'il vous plaît ajouter les dépendances suivantes - ils vont résoudre votre problème.
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>