连接Cassandra DB时java.lang.NoClassDefFoundError:ch / qos / logback / core / joran / spi / JoranExcepti

我正在通过Java尝试与我的Cassandra实例的简单连接.我为cqlsh创建了一个’demo’键空间,并在java程序中创建了一个表.代码如下:

使用的罐子:

> slf4j.api-1.6.1
> 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','murugan@gmail.com','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");

    }
}

我收到以下错误:

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

解决方法:

您必须确保logback JAR在您的类路径中.

初学者见here;除此之外;真正的外卖:运行时告诉你它找不到某个类;它会为您提供该课程的全名.或者你看here阅读Cassandra关于logback的内容.

你接受了这个输入;然后你转向你最喜欢的搜索引擎,以便了解正在发生的事情.

上一篇:如何为“ IN子句”传递变量参数


下一篇:java – 在Datastax驱动程序中使用LOCAL_QUORUM一致性级别