java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/JoranException lors de la connexion de Cassandra DB
J'ai essayé une simple connexion à mon Cassandra exemple par le biais de Java. J'ai fait une démo de clés à cqlsh et créé un tableau dans le programme java. Le code est ci-dessous:
Pots Utilisés:
- slf4j.api-1.6.1
-
cassandra-tous-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"); } }
J'obtiens 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
OriginalL'auteur Anand Kumar | 2017-02-13
Vous devez vous connecter pour publier un commentaire.
Vous devez vous assurer que le logback POT est dans votre classpath.
Voir ici pour commencer; et au-delà, le véritable suite ici: le moteur d'exécution est de vous dire qu'il ne peut pas trouver une certaine classe; et il vous donne la plein nom de la classe. Ou vous cherchez ici de lire ce que Cassandra a à dire à propos de logback.
Vous prenez cette entrée, puis vous vous tournez vers votre moteur de recherche préféré pour comprendre ce qui se passe.
OriginalL'auteur GhostCat
La cause de ce problème est la nécessaire pots de ne pas être disponible dans le CLASSPATH. S'il vous plaît ajouter les dépendances suivantes - ils vont résoudre votre problème.
OriginalL'auteur Rajeev Rathor