【问题标题】:No suitable driver found for sqlite in a runtime image java在运行时映像 java 中找不到适合 sqlite 的驱动程序
【发布时间】:2020-03-17 05:12:05
【问题描述】:

我正在使用 sqlite 开发一个 Maven JavaFX 项目,我的目标是使用 jpackage 创建一个安装程序。第一步是创建运行时映像。所以我计划创建映像,确保它运行,然后使用 jpackage 创建安装程序。

这些是我在 Maven 中的依赖项:

org.openjfx javafx 控件 14 org.openjfx javafx-fxml 14 org.xerial sqlite-jdbc 3.30.1 罐

这就是我连接数据库的方式:

连接=(连接) DriverManager.getConnection("jdbc:sqlite:"+getClass().getResource("database.db"));

我用 maven 创建运行时镜像:

mvn clean javafx:jlink

当我运行图像时,出现以下错误:

java.sql.SQLException: No suitable driver found for jdbc:sqlite:

我尝试添加Class.forName("org.sqlite.JDBC");,但现在我得到了:

java.lang.ClassNotFoundException: org.sqlite.jdbc

我已经尝试关注这些instructions,但我不断收到相同的错误。

当我使用 InteliJ 运行项目时,一切正常。我一直试图让它工作一段时间,但我一直在失败。有谁知道我做错了什么或者我需要添加或更改什么?

【问题讨论】:

  • 我查看了 GitHub 页面,看看它是否会说与 Java9+ 兼容。我在任何地方都没有看到。我的猜测是您拥有的 jar 与 Java9+ 不兼容。看看stackoverflow.com/questions/46882108/… 是否有帮助。

标签: java image sqlite maven javafx


【解决方案1】:

我的 SQLite 运行没有问题。对于构建,我遵循本教程 https://github.com/dlemmermann/JPackageScriptFX 是我与 Dirk Lemmermann 一起创建的。 SQLite 没有什么特别的事情要做。如果你想通过 Maven shade 插件或 GraalVM 使用它,事情会变得有点复杂,但它也可以工作。

【讨论】:

    猜你喜欢
    • 2017-08-26
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 2012-10-06
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多