1

I had database connection issues on my Java project because of mysql's replacement with mariadb on Debian 10. I am using HikariCP to connect, I updated the code so that it works with mariadb :

    HikariConfig hikariConfig = new HikariConfig();
    hikariConfig.setMaximumPoolSize(10);
    hikariConfig.setDriverClassName("org.mariadb.jdbc.Driver"); // added after internet research about hikaricp and mariadb
    hikariConfig.setJdbcUrl("jdbc:mariadb://localhost:3306/" + db);
    hikariConfig.setUsername(user);
    hikariConfig.setPassword(pass);

I upgraded my HikariCP setup : I replaced 2.7.8 with 3.4.5 (even though I don't know what's the difference) and added the mysql-connector dependency after viewing this post (btw there is no version for this guy's mysql-connector in his pom.xml but I had to put one so I chosed 6.0.6) and I am still getting a Java error :

java.lang.RuntimeException: Failed to load driver class org.mariadb.jdbc.Driver in either of HikariConfig class loader or Thread context classloader
at com.zaxxer.hikari.HikariConfig.setDriverClassName(HikariConfig.java:486)

pom.xml dependencies

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
        <version>6.0.6</version>
    </dependency>
    
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.6</version>
    </dependency>
    <dependency>
        <groupId>net.md-5</groupId>
        <artifactId>bungeecord-api</artifactId>
        <version>1.12-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>com.zaxxer</groupId>
        <artifactId>HikariCP</artifactId>
        <version>3.4.5</version>
    </dependency>
  </dependencies>

Thank you for reading me, I hope someone has a solution

MathWellan
  • 43
  • 8

1 Answers1

0

You are using mariadb now, not mysql. Change

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
    <version>6.0.6</version>
</dependency>

to

<dependency>
    <groupId>org.mariadb.jdbc</groupId>
    <artifactId>mariadb-java-client</artifactId>
    <scope>runtime</scope>
    <version>2.7.3</version>
</dependency>
Elliott Frisch
  • 198,278
  • 20
  • 158
  • 249