如何解决java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

新手上路,请多包涵

我编写了这个 Java 应用程序来响应来自命令行的数据并将其存储到数据库中:

  import java.util.Scanner;
import java.sql.*;

public class Program {

    public static void main(String[] args)throws ClassNotFoundException

    {

        Connection conn=null;

        try {

            Class.forName("com.mysql.jdbc.Driver");

             conn = DriverManager.getConnection("jdbc:mysql://localhost/DevOps_DB","root","root");

             PreparedStatement st = conn.prepareStatement("INSERT INTO pers " + "VALUES ('"+args[0]+"'); ");
             st.executeUpdate();

        }

        catch (SQLException ex) {

            System.out.println("SQL Exception : "+ ex.getMessage());

            System.out.println("Vendor Error : "+ ex.getErrorCode());

        }

        catch(ClassNotFoundException ex) {

            ex.printStackTrace();

        }

//
//      for(String arg : args)
//      {
//           System.out.println(arg);
//      }

    }

}

但我有以下例外:

 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:190)
    at Program.main(Program.java:18)

为什么 ? …对解决问题有帮助吗?

编辑 :

我添加了.jar文件,见下图:

在此处输入图像描述

原文由 Akari 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 414
2 个回答

您需要下载 mysql 连接器 jar 文件(驱动程序实现)并将其添加到您的类路径中。

附带说明一下,如果您使用的是 JDBC 4.0(我认为是 Java 7 甚至 6),则无需使用 Class.forName("com.mysql.jdbc.Driver"); 。只需将 jar 添加到类路径即可。驱动程序实现将自动从类路径中搜索和加载。

原文由 Aniket Thakur 发布,翻译遵循 CC BY-SA 3.0 许可协议

好的,你添加了 jar。做一件事打开服务器,形成窗口->显示视图->服务器,然后双击服务器

然后它将打开一个新窗口然后转到打开启动配置然后

转到类路径并再次添加 mysql-connector.jar 单击确定。

原文由 Kirtikumar Thakur 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题