1

Cassandra-jdbcドライバーを使用して、GlassFishでCassandraの接続プールを設定しようとしています。ドライバーjar(およびそれが依存するすべてのjar)を〜glassfish-domain / lib / extフォルダーに配置しましたが、pingを実行しようとすると次のエラーが発生します。

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());
        }
    }

前もって感謝します!

4

1 に答える 1

0

log4j.jarに依存しているため、slf4jが正しく読み込まれていないようです。クラスパスに追加した後、すべてが正常に機能しているようです。私のlibにあるすべてのjarのリストは次のとおりです。

apache-cassandra-1.1.6.jar
apache-cassandra-clientutil-1.1.6.jar
apache-cassandra-thrift-1.1.6.jar
cassandra-jdbc-1.1.2.jar
commons-lang-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

于 2012-11-14T15:08:06.073 に答える