我试图建立一个简单的Java应用程序来连接到SQLite数据库,但继续接收:
ClassNotFoundException: org.sqlite.jdbc.
我已经下载了sqlite jdbc驱动程序jar并将其放在与.java相同的目录中,并且我在命令行上编译:
javac -cp sqlite-jdbc-3.7.2.jar sqlite3test.java
在运行时,我得到上述异常。以下是代码:
import java.sql.*;
public class sqlite3test
{
public static void main(String args[])
{
Connection c = null;
try
{
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:cs261.db");
}
catch ( Exception e )
{
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
System.out.println("Opened database successfully");
}
}
如何解决此问题? 感谢。
答案 0 :(得分:1)
检查安装的数据库版本,在我的情况下是:SQLite version 3.8.2
我正在使用sqlite-jdbc-3.8.9.1.jar
,这是一个比安装的数据库更大的版本号,它运行正常。
您必须确保jar文件版本应大于或等于系统中安装的数据库版本。
从最新版本的java(来自Java 6+),您不需要加载您的类文件。
删除以下行并尝试使用。
Class.forName("org.sqlite.JDBC");
注意:我建议您将班级名称从sqlite3test
重命名为Sqlite3Test
,但这不是强制性的。根据JAVA代码约定,类名应始终以Caps字母开头。
将驱动程序加载到类路径中有不同的方法:
供参考:http://www.sqlitetutorial.net/sqlite-java/sqlite-jdbc-driver/