Java 使用JackAccess库读取Access数据库

Java 使用JackAccess库读取Access数据库,java,netbeans,jackcess,Java,Netbeans,Jackcess,这是我第一次尝试这样做。。。我正在尝试获取到我的数据库的链接,然后显示一个表,以查看链接是否已建立。由于某种原因,它就是不起作用。 这是我的密码: package dbtest; import java.io.*; import com.healthmarketscience.jackcess.*; import java.util.logging.Level; import java.util.logging.Logger; public class DbTest { /** * @pa

这是我第一次尝试这样做。。。我正在尝试获取到我的数据库的链接,然后显示一个表,以查看链接是否已建立。由于某种原因,它就是不起作用。 这是我的密码:

package dbtest;
import java.io.*;
import com.healthmarketscience.jackcess.*; 
import java.util.logging.Level;
import java.util.logging.Logger;
public class DbTest {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    try
    {
     Database db = DatabaseBuilder.open(new File("Users\\ou_snaaksie\\NetBeansProjects\\dbTest\\MOVIES.mdb"));
     Table tblMOVIES = db.getTable("tblMOVIES");
        System.out.println(tblMOVIES.toString());


    } 
    catch (IOException ex) 
    {Logger.getLogger(DbTest.class.getName()).log(Level.SEVERE, null, ex);}

    }

}
我得到的错误是:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at com.healthmarketscience.jackcess.impl.DatabaseImpl.<clinit>(DatabaseImpl.java:91)
at com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:170)
at com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:193)
at dbtest.DbTest.main(DbTest.java:25)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 4 more
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
线程“main”java.lang.NoClassDefFoundError中的异常:org/apache/commons/logging/LogFactory 在com.healthmarketscience.jackcess.impl.DatabaseImpl.(DatabaseImpl.java:91) 位于com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:170) 位于com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:193) 位于dbtest.dbtest.main(dbtest.java:25) 原因:java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory 在java.net.URLClassLoader$1.run(URLClassLoader.java:372) 在java.net.URLClassLoader$1.run(URLClassLoader.java:361) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(URLClassLoader.java:360) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:424) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 4更多 Java结果:1 生成成功(总时间:0秒)
错误消息告诉您,您的项目缺少
commons日志记录
。正如Jackcess'中提到的,除了Jackcess.jar文件之外,您还需要

  • v2.x(commons-lang-2.4.jar或更新版本),以及
  • (commons-logging-1.0.4.jar或更新版本)
因此,NetBeans项目中的Libraries文件夹应该如下所示: