gpt4 book ai didi

java - SQLite JDBC 与 Gradle 自定义运行时镜像

转载 作者:行者123 更新时间:2023-12-02 03:57:10 28 4
gpt4 key购买 nike

我已在 build.gradle 中添加了 SQLite,并尝试使用 Gradle 4.10 中的 org.beryx.jlink 插件创建自定义运行时镜像。当我运行该镜像时,收到错误:没有找到适合 jdbc:sqlite 的驱动程序:

This questionthis one处理类似的问题,但不是专门针对运行时镜像的。

我在 build.gradle 中添加了 SQLite:

plugins {
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.7'
id 'org.beryx.jlink' version '2.9.4'
}

repositories {
mavenCentral()
}

javafx {
version = "12"
modules = [ 'javafx.controls', 'javafx.fxml']
}

dependencies {
compile 'org.xerial:sqlite-jdbc:3.20.1'
}

jlink {
launcher {
name = 'bankstatementprocessor'
}
}

当我想在代码中连接到 SQLite DB 时,我收到错误没有找到适合 jdbc:sqlite 的驱动程序:

conn = DriverManager.getConnection(CONNECTION_STRING);

作为验证,我添加了以下内容:

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

并且,我收到错误:java.lang.ClassNotFoundException:org.sqlite.JDBC

似乎有一种方法可以使用 Maven 解决此问题,如 here 所示。 :

当我简单地使用./gradlew run运行项目时没有错误;但是,该镜像似乎没有注册 SQLite 驱动程序。

最佳答案

实现所需结果的一种可能方法是 pick your JDBC driver at runtime 。我不是这种方法的特别粉丝,因为我觉得在 build.gradle 文件中应该有一种更干净的方法。

关于java - SQLite JDBC 与 Gradle 自定义运行时镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56751953/

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