You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java连接Docker本地MariaDB出现No suitable driver异常求助

Java连接Docker中MariaDB数据库报错求助

我正在尝试使用Java程序连接Docker本地主机上的MariaDB数据库,开发环境为VSCode,采用Maven管理依赖。我将JDBC驱动mariadb-java-client-2.7.3.jar添加至资源文件夹,并在pom.xml中配置了依赖。运行程序时抛出如下异常:
错误代码: 0
SQL状态: 08001
java.sql.SQLException: No suitable driver found for jdbc:mariadb://localhost:3306/aufgabe_4

我查阅相关问题后,尝试在建立连接前添加Class.forName("org.mariadb.jdbc.Driver");语句,却触发了新的异常:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Unhandled exception type ClassNotFoundException
at com.datenbanken.aufgabe4.DBVerbindung.verbinden(DBVerbindung.java:15)

未找到可行解决方案,特此求助。以下是相关文件:

源码

package com.datenbanken.aufgabe4;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBVerbindung {
    private Connection con = null;
    private String dbAdresse = "localhost:3306";
    private String dbInstanz = "aufgabe_4";

    public void verbinden(String nutzer, String passwort) {
        try {
            //Class.forName("org.mariadb.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mariadb://" + dbAdresse + "/"
                    + dbInstanz, nutzer, passwort);
        } catch (SQLException e) {
            ausnahmeAusgeben(e);
        }
    }

    private void ausnahmeAusgeben(SQLException e) {
        while (e != null) {
            System.err.println("Fehlercode: " + e.getErrorCode());
            System.err.println("SQL State: " + e.getSQLState());
            System.err.println(e);
            e = e.getNextException();
        }
    }

    public void verbindungTrennen() {
        if (con == null) {
            System.out.println("keine Verbindung vorhanden");
            return;
        }
        try {
            con.close();
        } catch (SQLException e) {
            ausnahmeAusgeben(e);
        }
    }

    public void verbindungAnalysieren() {
        if (con == null) {
            System.out.println("keine Verbindung vorhanden");
            return;
        }
        try {
            DatabaseMetaData dbmd = con.getMetaData();
            System.out.println("DB-Name: " + dbmd.getDatabaseProductName()
                    + "\nDB-Version: " + dbmd.getDatabaseMajorVersion()
                    + "\nDB-Release: " + dbmd.getDriverMinorVersion()
                    + "\nTransaktionen erlaubt: " + dbmd.supportsTransactions()
                    + "\nbeachtet GroßKlein: " + dbmd.storesMixedCaseIdentifiers()
                    + "\nunterstützt UNION: " + dbmd.supportsUnion()
                    + "\nmax. Prozedurname: " + dbmd.getMaxProcedureNameLength());
        } catch (SQLException e) {
            ausnahmeAusgeben(e);
        }
    }

    public static void main(String[] s) {
        DBVerbindung db = new DBVerbindung();
        db.verbinden("root", "bitnami");
        db.verbindungAnalysieren();
        db.verbindungTrennen();
    }
}

初始pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.datenbanken.aufgabe4</groupId>
    <artifactId>aufgabe4</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <dependency>
    <groupId>com.datenbanken.aufgabe4</groupId>
    <artifactId>aufgabe4</artifactId>
    <version>2.7.3</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/resources/mariadb-java-client-2.7.3.jar</systemPath>
    </dependency>

</project>

更新后的pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.datenbanken.aufgabe4</groupId>
    <artifactId>aufgabe4</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client  (Dependency direkt von Maven)-->
    <dependency>
        <groupId>org.mariadb.jdbc</groupId>
        <artifactId>mariadb-java-client</artifactId>
        <version>2.7.3</version>
    </dependency>   


</project>

文件夹结构

文件夹结构

内容的提问来源于stack exchange,提问作者Ehrenmann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 01:44:51