gpt4 book ai didi

java - 线程 "main"java.lang.NoClassDefFoundError : org/apache/thrift/TEnum 中的异常

转载 作者:行者123 更新时间:2023-11-29 07:54:01 25 4
gpt4 key购买 nike

我已尝试使用以下代码在我的本地系统上连接 CASSANDRA 数据库。

这是我的代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBConnect {


public static void main(String[] args) throws Exception{

Connection con = null;
try {
Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver");
con = DriverManager.getConnection("jdbc:cassandra://localhost:9160/mykeyspace");

String query = "select * from users";

Statement stmt = con.createStatement();
ResultSet result = stmt.executeQuery(query);

while (result.next()) {
System.out.println(result.getString("user_id"));
System.out.println(result.getString("fname"));
System.out.println(result.getString("lname"));
}

} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
con = null;
}
}

}}

这是我收到的错误消息。

 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/thrift/TEnum
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
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)
at org.apache.cassandra.cql.jdbc.Utils.<clinit>(Utils.java:62)
at org.apache.cassandra.cql.jdbc.CassandraDriver.connect(CassandraDriver.java:85)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at DBConnect.main(DBConnect.java:15)
Caused by: java.lang.ClassNotFoundException: org.apache.thrift.TEnum
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)
... 17 more

我添加了以下 Jar 文件。

  1. apache-cassandra-thrift-1.2.5.jar
  2. cassandra-jdbc-1.2.5.jar
  3. slf4j-api-1.7.5.jar
  4. slf4j-jdk14-1.7.5.jar

请帮我解决这个问题。

谢谢

最佳答案

apache-cassandra-thrift 依赖于 libthrift 工件。您需要将此 jar 添加到您的类路径中。你可以找到它here .

关于java - 线程 "main"java.lang.NoClassDefFoundError : org/apache/thrift/TEnum 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19177997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com