Java连接SQLite遇ClassNotFoundException及驱动找不到问题求助
解决SQLite JDBC驱动找不到的问题(JDK 1.8 + IntelliJ IDEA 2023.2.6)
从错误日志来看,核心问题是运行时找不到sqlite-jdbc驱动类,要么是依赖没正确添加,要么是打包/运行配置没把驱动包含进去,以下是针对性解决步骤:
一、用构建工具(Maven/Gradle)管理依赖
如果项目用Maven或Gradle,直接通过依赖配置引入驱动,确保构建时自动包含:
Maven配置(pom.xml)
<dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.41.2.1</version> <!-- 该版本兼容JDK 1.8 --> <scope>compile</scope> </dependency>
添加后执行mvn clean install,再重新打包项目。
Gradle配置(build.gradle)
dependencies { implementation 'org.xerial:sqlite-jdbc:3.41.2.1' }
执行gradle build完成构建。
二、手动添加驱动并配置打包(无构建工具)
- 下载适配JDK 1.8的sqlite-jdbc JAR包(推荐3.41.2.1版本)
- 在IntelliJ中右键项目 →
Open Module Settings→Libraries→ 点击+号,选择下载的JAR添加到项目依赖 - 配置Artifact打包:
- 打开
File→Project Structure→Artifacts - 选中你的JAR Artifact(
JavaQuiz_jar) - 在右侧
Output Layout区域,找到添加的sqlite-jdbc库,右键选择Put into Output Root - 点击
Apply→OK,重新构建Artifact
- 打开
三、检查IDE运行配置(直接在IDE运行时)
如果是直接在IntelliJ中运行而非打包JAR,确保运行配置包含驱动:
- 点击右上角运行配置下拉框 →
Edit Configurations - 选中你的
Program运行配置 - 切换到
Classpath标签页,确认sqlite-jdbc库在依赖列表中,若没有则点击+号添加
额外优化:代码简化
JDK 6及之后,DriverManager会自动加载JDBC驱动,可移除Class.forName("org.sqlite.JDBC")这段代码,减少不必要的异常处理。
内容的提问来源于stack exchange,提问作者ioslmlaut
相关产品推荐
相关产品推荐

