【问题标题】:(macOS) java.lang.ClassNotFoundException: com.mysql.jdbc.Driver in NetBeans 12.4(macOS) java.lang.ClassNotFoundException:NetBeans 12.4 中的 com.mysql.jdbc.Driver
【发布时间】:2021-09-26 09:51:10
【问题描述】:

我知道以前有人问过这个问题,但我能找到的大部分信息都是关于 Windows 的,而且说明的不同之处足以让事情变得混乱。我可能应该补充一点,我对 Mac 和 Java 都不是很有经验。

我正在尝试让我的 Java 程序连接到我的 MySQL 数据库。我认为代码是正确的,但我无法让 NetBeans 注册 .jar 文件。

我已经尝试将库手动添加到 NetBeans,尽管它似乎不起作用。我还尝试将 .jar 的位置添加到 Java CLASSPATH。

根据我阅读的一些建议,它说 my-sql-connector 文件夹应该在 /lib/ 文件夹中,尽管我不确定在哪里可以找到它,或者它是否适用于 Mac .我尝试在 NetBeans 包文件中查找它,但什么也没看到。

编辑:使用我的代码更新...

    Connection conn;
    Statement st;
    
    public DatabaseConnect() 
    {
        try
        {
            Class.forName("com.mysql.cj.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://3306/DungeonsAndDragons", "root", "*******");
            st = conn.createStatement();
        }
        catch (SQLException e)
        {
            System.err.println("Failed to connect to the database. " + e);
        }
        catch (ClassNotFoundException e)
        {
            System.err.println(e);
        }
    }

【问题讨论】:

  • >关于我读过的一些建议,它说 my-sql-connector 文件夹应该在 /lib/ 文件夹中,尽管我不确定在哪里可以找到它,或者如果它甚至适用于 Mac。 确实适用于 MacOS。它应该在您的项目根目录下,是的,您应该将驱动程序 jar 放在那里。不要将其与分发存档混淆
  • @g00se 项目根目录下只有src和target两个文件夹。我将 .jar 文件放在根目录中并再次尝试,但得到了同样的错误。
  • >我把.jar文件放在了根目录下

标签: java mysql netbeans


【解决方案1】:

您好,您可以使用 brew 来安装 mysql 连接器。 在终端中复制和粘贴命令

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

brew update

brew tap gbeine/homebrew-java

brew install mysql-connector-java

您可以在 github 中阅读更多相关信息: https://github.com/gbeine/homebrew-java

并添加此依赖项:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.25</version>
</dependency>

【讨论】:

  • 您好,感谢您的回答。我尝试安装它,然后清理并构建项目,然后运行它。我仍然遇到同样的错误。我还缺少另一个步骤吗?
  • 您必须先在系统中安装自制软件。阅读此链接:docs.brew.sh/Installation
  • 它安装正确,但我仍然收到此错误:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
  • 添加mysql依赖。我会更新我的答案
  • 感谢您的帮助。我现在更进一步了 - ClassNotFoundException 已经消失,但现在有 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure 在它的位置:/我用我的代码更新了我的问题,因为那里可能有错误?
猜你喜欢
  • 2022-08-02
  • 2022-06-10
  • 2022-06-16
  • 2023-02-10
  • 2022-08-17
  • 2018-05-17
  • 2018-09-02
  • 2014-01-12
  • 2011-05-13
相关资源
最近更新 更多