XWiki WAR missing JDBC driver class 'org.mariadb.jdbc.Driver'

I am trying to bring up an XWiki instance of version 13.10.9, and tomcat fails on start with the below error in catalina.out for missing JDBC driver class ‘org.mariadb.jdbc.Driver’. The Java is openjdk version “1.8.0_342”.

From the MariaDB Connector/J webpage, I downloaded mariadb-java-client-3.0.5-sources.jar into directory $CATALINA_HOME/webapps/ROOT/WEB-INF/lib/, but the error still happens. So, I am unsure whether I downloaded the correct file.

I am unfamiliar with Java programming, any pointers will help me greatly.

1. Partial error message in catalina.out:

...
Caused by: java.sql.SQLException: Cannot load JDBC driver class 'org.mariadb.jdbc.Driver'
        at org.apache.commons.dbcp2.DriverFactory.createDriver(DriverFactory.java:54)
        at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:459)
        at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:525)
        at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:731)
        at com.xpn.xwiki.store.DBCPConnectionProvider.configure(DBCPConnectionProvider.java:225)
        ... 66 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.mariadb.jdbc.Driver
        at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        at org.xwiki.classloader.xwiki.internal.ContextNamespaceURLClassLoader.loadClass(ContextNamespaceURLClassLoader.java:176)
        at org.apache.commons.dbcp2.DriverFactory.createDriver(DriverFactory.java:49)
        ... 70 common frames omitted
Cannot load JDBC driver class 'org.mariadb.jdbc.Driver'
...

2. Java Environment:

[root@hostname logs]# java -version
openjdk version "1.8.0_342"
OpenJDK Runtime Environment (build 1.8.0_342-b07)
OpenJDK 64-Bit Server VM (build 25.342-b07, mixed mode)

Given that filename, I think you got the driver source code; Check here (XWiki docs), you need the one named “client”, but without “sources”.

This should fit: https://dlm.mariadb.com/2346414/Connectors/java/connector-java-3.0.7/mariadb-java-client-3.0.7.jar - obtained from Download MariaDB Connectors for data access & streaming | MariaDB choosing Java 8+ connector.

1 Like