SQLite和JDBC:返回UnsatisfiedLinkError

我在VirtualBox中运行Xubuntu。 我安装了sqlite3,由于某种原因不再捆绑。 我将sqlite-jdbc-3.8.7.jar添加到我的构建路径并运行这个简单的代码来测试它。

import java.sql.*; public class JDBC_test { public static void main(String[] args) throws ClassNotFoundException, SQLException { Class.forName("org.sqlite.JDBC"); Connection connection = DriverManager.getConnection("jdbc:sqlite:test.db"); connection.close(); } } 

我收到此错误:

 Exception in thread "main" java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open(Ljava/lang/String;I)V at org.sqlite.core.NativeDB._open(Native Method) at org.sqlite.core.DB.open(DB.java:161) at org.sqlite.core.CoreConnection.open(CoreConnection.java:145) at org.sqlite.core.CoreConnection.(CoreConnection.java:66) at org.sqlite.jdbc3.JDBC3Connection.(JDBC3Connection.java:21) at org.sqlite.jdbc4.JDBC4Connection.(JDBC4Connection.java:23) at org.sqlite.SQLiteConnection.(SQLiteConnection.java:45) at org.sqlite.JDBC.createConnection(JDBC.java:114) at org.sqlite.JDBC.connect(JDBC.java:88) at java.sql.DriverManager.getConnection(DriverManager.java:571) at java.sql.DriverManager.getConnection(DriverManager.java:233) at JDBC_test.main(JDBC_test.java:7) 

当我尝试通过将“test.db”替换为文件的完整路径来连接到现有数据库时,我得到了同样的错误。 有什么想法吗?

xerial的bug跟踪器中的驱动程序版本3.8.7中存在一个错误。 快速(和工作)解决方案是使用驱动程序版本3.8.6,直到修复该错误。

更新:自版本3.8.10.2以来修复了该错误(请参阅Github上的新bug跟踪器),我确认它现在可以正常工作。

版本3.8.11.2适用于Ubuntu 14(我在x86上测试过),可以从以下url下载: https ://bitbucket.org/xerial/sqlite-jdbc/downloads