2012-10-24 42 views
1

我正在尝试使用cassandra-jdbc驱动程序在GlassFish for Cassandra中设置连接池。我已经把驱动jar(和所有它取决于罐子)在GlassFish中〜域/ lib/ext目录文件夹,但我得到以下错误,当我尝试平:GlassFish无法初始化org.apache.cassandra.cql.jdbc.CassandraDriver

java.lang.NoClassDefFoundError: Could not initialize class org.apache.cassandra.cql.jdbc.CassandraDriver Could not initialize class org.apache.cassandra.cql.jdbc.CassandraDriver 

似乎GlassFish找到该类,但无法加载它。由于所有依赖关系都得到满足,可能的原因是静态块中存在异常。我检查了CassandraDriver的代码,它实际上有一个静态块:

static 
    { 
     // Register the CassandraDriver with DriverManager 
     try 
     { 
      CassandraDriver driverInst = new CassandraDriver(); 
      DriverManager.registerDriver(driverInst); 
     } 
     catch (SQLException e) 
     { 
      throw new RuntimeException(e.getMessage()); 
     } 
    } 

在此先感谢!

回答

0

看来,slf4j没有正确加载,因为它取决于log4j.jar。所以我在将它添加到classpath后,似乎一切正常。下面是在我的lib中的jar文件的列表:

Apache的卡桑德拉 - 1.1.6.jar
Apache的卡桑德拉 - clientutil-1.1.6.jar
Apache的卡桑德拉 - 节俭1.1.6。罐子
卡桑德拉-JDBC-1.1.2.jar
公地郎2.4.jar
番石榴r08.jar
libthrift-0.7.0.jar
的log4j-1.2.14.jar
slf4j- api-1.5.8.jar
slf4j-log4j12-1.5.8.jar

相关问题