gpt4 book ai didi

java - 如何在没有此 ClassNotFoundException 的情况下连接到 Java 中的本地 SQLite?

转载 作者:行者123 更新时间:2023-12-01 08:49:40 24 4
gpt4 key购买 nike

我正在尝试设置一个简单的 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");
}
}

如何解决这个问题?谢谢。

最佳答案

检查安装的数据库版本,在我的例子中是:SQLite version 3.8.2

我正在使用sqlite-jdbc-3.8.9.1.jar,它的版本号比安装的数据库的版本号大,并且运行良好。

您必须确保 jar 文件版本应大于或等于系统中安装的数据库版本。

从最新版本的 java(Java 6+)开始,您不需要加载类文件。

删除以下行并尝试它应该可以工作。

Class.forName("org.sqlite.JDBC");

注意:我建议您将类名从 sqlite3test 重命名为 Sqlite3Test,尽管这不是强制性的。根据JAVA代码约定,类名应始终以大写字母开头。

有多种方法可以将驱动程序加载到类路径中:

  • 将 jar 放入 $JAVA_HOME/jre/lib/ext 文件夹
  • 使用 Maven 依赖项
  • 使用 java -cp
  • 如果您使用的是 Eclipse 等 IDE,请右键单击项目 -> 构建路径 -> 配置构建路径 -> 库 -> 添加外部 jar 并在那里找到您的 jar。

供您引用:http://www.sqlitetutorial.net/sqlite-java/sqlite-jdbc-driver/

关于java - 如何在没有此 ClassNotFoundException 的情况下连接到 Java 中的本地 SQLite?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42467285/

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