2017-02-13 4 views
3

Java를 통해 Cassandra 인스턴스에 간단한 연결을 시도하고있었습니다. 나는 cqlsh에 '데모'키 공간을 만들고 자바 프로그램에서 테이블을 만들었다. 코드는 다음과 같습니다 :Cassandra DB를 연결하는 동안 ch/qos/logback/core/joran/spi/JoranException이 발생했습니다.

항아리가 사용 :

  • slf4j.api-1.6.1
  • 카산드라 - 모든 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"); 
    
        } 
    } 
    

내가 얻고을 다음 오류 :

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 

답변

7

로그백 JAR이 클래스 경로 내에 있는지 확인해야합니다.

처음에는 here을 참조하십시오. 그 이상; 여기서 실제 걸음 걸이 : 런타임은 특정 클래스를 찾을 수 없다는 것을 알려줍니다. 그리고 그것은 당신에게 그 클래스의 전체 이름을 제공합니다. 또는 here을 보면 카산드라가 로그백에 관해 무엇을 말하고 있는지 읽을 수 있습니다.

당신은 그 입력을받습니다; 그런 다음 진행중인 작업을 파악하기 위해 자주 사용하는 검색 엔진을 사용합니다.

0
Root cause of this issue is required jars not available in classpath. Please add following dependecy, It will solve your issue. 

<dependency> 
      <groupId>ch.qos.logback</groupId> 
      <artifactId>logback-classic</artifactId> 
      <version>1.2.2</version> 
     </dependency> 
     <dependency> 
      <groupId>ch.qos.logback</groupId> 
      <artifactId>logback-classic</artifactId> 
      <version>1.1.2</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.1.2</version> 
     </dependency>