找不到类 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Posted

技术标签:

【中文标题】找不到类 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver【英文标题】:Class not found java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 【发布时间】:2014-08-20 18:12:39 【问题描述】:

我想打印数据库中的内容,但是每当我运行这个程序时,我都会收到这个错误提示

Class not found java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
SQL exception occuredjava.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/mydatabase

我已经从这个链接http://dev.mysql.com/downloads/windows/installer/ 安装了 MySQL,它是一个 248mb 的文件并完全安装。我可以在 MySQL 中访问我的数据库,但无法从 netbeans 访问。我单独下载了 mysql-connector-java-5.1.4.jar 并设置了 CLASSPATH 但现在我也收到了这个错误。

import java.sql.*;

public class jdbcResultSet 
   public static void main(String[] args) 
      try 
         Class.forName("com.mysql.jdbc.Driver");
      
      catch(ClassNotFoundException e) 
         System.out.println("Class not found "+ e);
      
      try   
         Connection con = DriverManager.getConnection
         ("jdbc:mysql://localhost:3306/mydatabase","root",
         "root");
         Statement stmt = con.createStatement();
         ResultSet rs = stmt.executeQuery
         ("SELECT * FROM employee");
         System.out.println("id  name    job");
         while (rs.next()) 
            int id = rs.getInt("id");
            String name = rs.getString("name");
            String job = rs.getString("job");
            System.out.println(id+"   "+name+"    "+job);
         
      
      catch(SQLException e)
         System.out.println("SQL exception occured" + e);
      
   

【问题讨论】:

你是如何设置连接器jar的类路径的?你是如何执行你的程序的? ***.com/questions/14098404/… 似乎同样的问题 我下载了 mysql-connector-java-5.1.4.jar 文件并放置在“C:\Program Files\MySQL\Java Connector”目录中并从控制面板编辑系统环境变量然后设置 CLASSPATH作为 C:\Program Files\MySQL\Java 连接器 【参考方案1】:

首先检查是否可以导入 import com.microsoft.sqlserver.jdbc.SQLServerDriver;

如果它说 com.microsft 无法解析为一种类型,这意味着您必须将您的 jar 文件添加到 java 构建路径,然后添加到 部署路径项目属性。


java 构建路径

右键单击项目=>Properties=>Java Build Path=> s=>添加外部 Jar 文件

部署路径

右键单击项目=>属性=>部署程序集=> 添加s=>Java 构建路径条目==> mssql_jdbc

【讨论】:

【参考方案2】:

CLASSPATH 环境变量仅由java.exe 命令使用,即使在没有任何-cp、-classpath、-jar 参数的情况下使用也是如此。 IDE 会忽略它。

因此,如果您从 IDE 运行应用程序,请将 mysql-connector.jar 放在 IDE 的类路径中

【讨论】:

【参考方案3】:

我下载了 mysql-connector-java-5.1.4.jar 文件并放置在“C:\Program Files\MySQL\Java Connector”目录并从控制面板编辑系统环境变量,然后将 CLASSPATH 设置为 C:\Program文件\MySQL\Java 连接器

添加jar文件,而不是jar文件所在的目录。

而不是,

C:\Program Files\MySQL\Java Connector

CLASSPATH 应该包括,

C:\Program Files\MySQL\Java Connector\mysql-connector-java-5.1.4.jar

【讨论】:

以上是关于找不到类 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot找不到类异常解决

找不到 Spring Boot Mongo Reactive 类 - 找不到类 [org.springframework.data.mongodb.MongoDatabaseFactory]

找不到xml找不到类

java 主启动类找不到

找不到类 'dalvik.system....'

eclipse 保存后就找不到类