java - 使用其他版本的 JDBC 驱动程序

标签 java sqlite jdbc bukkit

我在使用其他版本的 JDBC SQLite 时遇到了问题,而不是 Java 中默认的版本。我添加了 this driver 的依赖项到 pom.xml ,当我使用 DriverManager.getConnection("jdbc:sqlite:database.db"); 时,我无法使用此驱动程序中的任何特殊功能,因为已加载 java 默认功能。

我正在尝试使用下载的较高版本的“jdbc:sqlite”驱动程序。我已使用 maven 将驱动程序的源代码导出到 intellij 中的项目中,但是当我使用 Class.forName("org.jdbc.sqlite"); 时(位于我的项目中的位置)然后它不起作用,DriverManager 仍然使用具有较低版本的不同驱动程序。我需要更新版本才能使用 ON CONFLICT 功能。我的问题是我不知道如何在我的项目中使用我自己的“jdbc:sqlite”驱动程序来创建连接。

最佳答案

Bukkit 包含旧版本的 sqlite 驱动程序。您应该使用 Maven Shade 插件(或 gradle shadow plugin )将新的 sqlite 驱动程序捆绑到 JAR 中,并将其重命名为 JAR 内的新名称(例如在包的组名称前面加上“.repackaged”)。

关于java - 使用其他版本的 JDBC 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52730160/

相关文章:

android - 在 android 中使用 Volley 从 JSON 下载大数据

java - 在 Java JDBC 中将高分保存到数据库中

jdbc - 使用logstash将数据从MySQL索引到ElasticSearch时,仅显示第一行

java - Hibernate一对多关系数据插入报错

java - 从 Spring Data 中的多个表中进行选择

java - 在 Quartz 调度程序中触发失火

android sqlite 使用 where 子句创建索引失败

java - 在 Swagger 中记录 Spring 的登录/注销 API

objective-c - FM数据库 : is it safe to leave failing inserts (unique PK key violated)?

java - Java EE Web 应用程序中的无效字符串或缓冲区长度异常