为什么添加MySql jar文件时IntelliJ IDEA会出现java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver错误?

问题描述 投票:0回答:1

当我尝试在 IntelliJ IDEA 中运行一个简单的程序连接到 MySql 数据库时,出现以下错误:

java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:391)
    at java.base/java.lang.Class.forName(Class.java:382)
    at config.DatabaseConfig.getConnection(DatabaseConfig.java:29)
    at Main.main(Main.java:8)

以下是我正在使用的代码:

数据库属性

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/database
jdbc.user=user
jdbc.password=password

数据库配置.java

package config;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

public class DatabaseConfig {

    private static Connection connection = null;

    public static Connection getConnection() {
        if (connection != null) {
            return connection;
        } else {
            try {
                // Load database properties
                InputStream inputStream = DatabaseConfig.class.getClassLoader().getResourceAsStream("db.properties");
                Properties properties = new Properties();
                properties.load(inputStream);

                // Get properties
                String driver = properties.getProperty("jdbc.driver");
                String url = properties.getProperty("jdbc.url");
                String user = properties.getProperty("jdbc.user");
                String password = properties.getProperty("jdbc.password");

                // Register JDBC driver
                Class.forName(driver);

                // Open a connection
                connection = DriverManager.getConnection(url, user, password);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return connection;
        }
    }
}

Main.java

import config.DatabaseConfig;
import java.sql.Connection;

public class Main {

    public static void main(String[] args) {
        // Initialize database connection
        Connection connection = DatabaseConfig.getConnection();

        if (connection != null) {
            System.out.println("Successfully connected to the database.");
            // Perform database operations
        } else {
            System.out.println("Failed to connect to the database.");
        }

        // Close the connection when done
        try {
            if (connection != null && !connection.isClosed()) {
                connection.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
  1. 我点击了此链接:数据库工具和 SQL。我能够连接到我的数据库并成功运行测试连接。但是当我运行 Main.java 时,它打印“无法连接到数据库”并显示上述错误。

  2. 我将 MySQL jar 文件放在我的项目目录中:RootFolder/MySql.jar,然后添加到我的依赖项中,如下所示:文件 -> 项目结构 -> 模块 -> 依赖项 -> + -> JAR 或目录 -> RootFolder/MySql 。罐。但是当我运行 Main.java 时,它打印“无法连接到数据库”并显示上述错误。

  3. 我从此链接下载了最新的 MySql.jar 文件:MySql 社区下载。版本是mysql-connector-j.8.3.0。我将其添加到我的依赖项中,如下所示:文件 -> 项目结构 -> 模块 -> 依赖项 -> + -> JAR 或目录 -> C:\Users\me\Downloads\mysql-connector-j-8.3.0\mysql -connector-j-8.3.0\mysql-connector-j-8.3.0.jar。但是当我运行 Main.java 时,它打印“无法连接到数据库”并显示上述错误。 (我尝试使用压缩和解压的 jar 文件)

  4. 我还尝试将 jar 文件添加为库,如下所示:文件 -> 项目结构 -> 库 -> + -> Java -> RootFolder/MySql.jar。但是当我运行 Main.java 时,它打印“无法连接到数据库”并显示上述错误。

  5. 我还尝试将 jar 文件添加为库,如下所示:文件 -> 项目结构 -> 库 -> + -> Java -> C:\Users\me\Downloads\mysql-connector-j-8.3.0\ mysql-connector-j-8.3.0\mysql-connector-j-8.3.0.jar。但是当我运行 Main.java 时,它打印“无法连接到数据库”并显示上述错误。

  6. 我尝试从 Maven 添加库,如下所示:文件 -> 项目结构 -> 库 -> + -> 来自 Maven -> com.mysql:mysql-connector-j:8.3.0。但是当我运行 Main.java 时,它打印“无法连接到数据库”并显示上述错误。

  7. 我遵循了此 stackoverflow 帖子中的所有答案:将 Java 连接到 MySQL 数据库。但是当我运行 Main.java 时,它打印“无法连接到数据库”并显示上述错误。

java intellij-idea jdbc mysql-connector
1个回答
0
投票

我有一个解决方案 打开您的 tomcat 文件位置并将 mySQL jar 文件添加到 bin 文件夹中,它将再次工作。 我也遇到过同样的问题..

© www.soinside.com 2019 - 2024. All rights reserved.