You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle未将SQLite JAR文件添加至Java项目的问题求助

解决SQLite JDBC的ClassNotFoundException问题

确认依赖已加入运行时类路径

先执行Gradle命令检查运行时依赖是否包含SQLite驱动:

./gradlew dependencies --configuration runtimeClasspath

查看输出中是否存在org.xerial:sqlite-jdbc:3.40.0.0。如果没有,执行./gradlew clean build重新构建项目,确保依赖包完成下载并引入。

使用Gradle官方任务启动应用

不要手动编译后直接用java命令运行类文件——这种方式不会自动将依赖Jar加入类路径。正确启动方式是调用application插件提供的run任务:

./gradlew run

该任务会自动将所有运行时依赖纳入类路径,避免驱动类找不到的问题。

移除冗余的驱动加载代码

JDBC 4.0及以上版本(sqlite-jdbc 3.x完全符合规范)无需手动调用Class.forName()加载驱动,DriverManager会通过Jar包内的META-INF/services自动发现并加载驱动。修改代码如下:

public static void main( String args[] ) {
    Connection c = null;
    try {
        // 移除Class.forName("org.sqlite.JDBC"); 这一行
        c = DriverManager.getConnection("jdbc:sqlite:database.db");
    } catch ( Exception e ) {
        System.err.println( e.getClass().getName() + ": " + e.getMessage() );
        System.exit(0);
    }
    System.out.println("Opened database successfully");
}

若需打包成可执行Jar

如果要生成包含所有依赖的独立可执行Jar,需添加Shadow插件:

  1. 在build.gradle的plugins块中追加:
    id 'com.github.johnrengelman.shadow' version '7.1.2'
    
  2. 执行打包命令:
    ./gradlew shadowJar
    
    生成的Jar文件位于build/libs/目录下(文件名通常为[项目名]-all.jar),直接用java -jar命令即可运行。

内容的提问来源于stack exchange,提问作者EzequielS121

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 20:15:45