使用JDBC连接SQLite与Java(IntelliJ)遇驱动问题求助
解决IntelliJ中SQLite JDBC驱动找不到的问题
核心原因
Java 9及以上的模块化系统会限制DriverManager自动加载驱动,加上依赖配置可能存在疏漏,导致出现"No suitable driver found"错误。
分步解决方案
1. 显式加载SQLite驱动
在获取连接前手动加载驱动类,弥补模块化系统的自动加载限制:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Main { public static void main(String[] args) { String jdbcUrl = "jdbc:sqlite:C:/sqlite/userdata.db"; try { // 显式加载SQLite驱动类 Class.forName("org.sqlite.JDBC"); Connection connection = DriverManager.getConnection(jdbcUrl); System.out.println("数据库连接成功!"); // 使用完记得关闭连接 connection.close(); } catch (ClassNotFoundException | SQLException e){ e.printStackTrace(); } } }
2. 确认依赖配置的正确性
- 打开IntelliJ的
File -> Project Structure -> Modules -> Dependencies,检查是否已添加sqlite-jdbc-3.44.1.0.jar,且Scope设置为Compile。 - 若使用构建工具(Maven/Gradle),直接通过依赖管理引入更可靠:
Maven(pom.xml):
Gradle(build.gradle):<dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.44.1.0</version> </dependency>implementation 'org.xerial:sqlite-jdbc:3.44.1.0'
3. 验证JDBC URL格式
- Windows系统下可尝试双反斜杠路径:
jdbc:sqlite:C:\\sqlite\\userdata.db - 更稳妥的方式是使用相对路径,将
userdata.db放在项目根目录,URL改为jdbc:sqlite:userdata.db,避免绝对路径的拼写或权限问题。
4. 确保驱动包完整性
重新下载对应版本的sqlite-jdbc-3.44.1.0.jar,确认文件未损坏,优先从官方Maven仓库获取对应版本。
内容的提问来源于stack exchange,提问作者Punz
相关产品推荐
相关产品推荐

