DriverManager 在连接到 h2 数据库时尝试使用 mariadb 驱动程序

DriverManager tries to use mariadb driver when connecting to h2 database

我正在做一些测试并遇到以下异常:

java.lang.IllegalArgumentException: Invalid connection URL url  dbc:h2:db/test
at org.mariadb.jdbc.JDBCUrl.parse(JDBCUrl.java:144)
at org.mariadb.jdbc.Driver.connect(Driver.java:95)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)

我使用的代码:

Class.forName("org.h2.Driver"); //load h2 driver
String connectionUrl = "jdbc:h2:db/test";
Connection conn = DriverManager.getConnection(connectionUrl, "sa", "");

我还测试了一些与mariadb/mysql相关的东西,所以除了h2驱动(eclipse项目)之外,mariadb驱动也在classpath中。如果我从类路径中删除 mariadb 驱动程序,则连接有效。

据我所知,类路径上应该可以有多个 jdbc 驱动程序,还是我理解有误?

(h2是1.3.176版本,mariadb-java-client是1.2.0)

编辑:使用 mariadb-java-client 1.2.2 解决了问题

我认为这是某种错误,因为我在更新到 mariadb-java-client 1.2.2 后没有发现问题。

我可以确认这是 mariadb-jdbc-驱动程序

中的错误

https://mariadb.atlassian.net/plugins/servlet/mobile#issue/CONJ-167