我正在尝试使用 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());
}
}
提前致谢!