为了账号安全,请及时绑定邮箱和手机立即绑定

线程“main”中的异常 java.lang.NoClassDefFoundError:

线程“main”中的异常 java.lang.NoClassDefFoundError:

holdtom 2021-12-10 12:28:22
package myJavaPrograms;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class AccessDBFiles {    public static void main(String[] args) throws SQLException  {        Connection conn=DriverManager.getConnection(                "jdbc:ucanaccess://C:\\TESTFILE\\Database11.accdb");        Statement s = conn.createStatement();        ResultSet rs = s.executeQuery("SELECT * FROM myTable");        while (rs.next()) {            System.out.println(rs.getString(1));        }    }我在线程 main 中收到异常作为线程“main”中的异常 java.lang.NoClassDefFoundError: org/apache/commons/lang/builder/CompareToBuilder
查看完整描述

2 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

UCanAccess 使用 Jackcess,而 Jackcess 使用commons-lang(v2.x),而不是commons-lang3. UCanAccess 所需的所有依赖项都包含在libUCanAccess 发行版(.bin.zip 文件)的文件夹中。


查看完整回答
反对 回复 2021-12-10
?
慕森王

TA贡献1777条经验 获得超3个赞

我看到您正在使用纯 JDBC 驱动程序 UCanAccess。这种情况下你必须加载这个驱动程序:

Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");

或者,您可以像这样加载 JDBC/ODBC 驱动程序类:

 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

这种情况下,URL格式是这样的:

jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=myDB.mdb;

另外,不要忘记关闭资源:ResultSet、Statement 和 Connection。


查看完整回答
反对 回复 2021-12-10
  • 2 回答
  • 0 关注
  • 248 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信