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

VSCode中出现java.lang.ClassNotFoundException,添加MySQL驱动仍未解决

解决VSCode中Java连接MySQL报ClassNotFoundException的问题

核心原因

VSCode运行Java程序时,没有正确将MySQL驱动Jar包纳入运行时类路径——即便手动添加到引用库,也可能因运行配置缺失导致驱动无法被加载。

具体解决步骤

1. 匹配驱动包与MySQL版本

  • MySQL 8.0及以上版本必须使用com.mysql.cj.jdbc.Driver,且驱动包需对应mysql-connector-java-8.x.x.jar(不能用5.x版本驱动搭配8.0+的MySQL)。
  • MySQL 5.x版本使用com.mysql.jdbc.Driver,对应mysql-connector-java-5.x.x.jar。

2. 确保驱动包加入项目构建路径

  • 打开VSCode左侧「Java Projects」视图,找到你的项目,展开「Referenced Libraries」,确认驱动Jar包已在列表中。
  • 如果不在,右键点击「Referenced Libraries」→「Add Library」,选择本地驱动Jar包添加;或者直接把驱动包放到项目lib文件夹,右键Jar包→「Add to Build Path」。

3. 修正运行配置(launch.json)

  • 点击VSCode右上角运行按钮旁的下拉箭头,选择「Open launch.json」。
  • 在configurations节点中,确保classpath包含驱动Jar包的路径,示例配置:
    "configurations": [
        {
            "type": "java",
            "name": "newapp2jdbc",
            "request": "launch",
            "mainClass": "newapp2jdbc",
            "classpath": ["${workspaceFolder}/bin", "${workspaceFolder}/lib/mysql-connector-java-8.0.30.jar"]
        }
    ]
    
    替换${workspaceFolder}/lib/mysql-connector-java-8.0.30.jar为你实际的驱动包路径。

4. 优化代码适配JDBC规范(MySQL8.0+)

  • JDBC 4.0及以上版本无需手动调用Class.forName()加载驱动,只要驱动包在类路径中会自动加载,可删除该行代码。
  • MySQL8.0+的URL必须指定时区参数,否则会抛出时区错误,修改后的代码示例:
    import java.sql.*;
    
    public class newapp2jdbc {
        public static void main(String[] args) throws Exception {
            String url = "jdbc:mysql://localhost:3306/sql_workbench?useSSL=false&serverTimezone=UTC";
            String uname = "root";
            String pass = "0768";
            String query = "select name from student where id=3";
    
            Connection con = DriverManager.getConnection(url, uname, pass);
            Statement st = con.createStatement();
    
            ResultSet rs = st.executeQuery(query);
    
            if (rs.next()) { // 增加记录存在判断,避免空指针
                String name = rs.getString(1);
                System.out.println(name);
            } else {
                System.out.println("未找到ID为3的学生记录");
            }
    
            st.close();
            con.close();
        }
    }
    

5. 命令行验证(排查VSCode配置问题)

  • 进入项目编译后的bin目录(存放.class文件的文件夹),执行以下命令:
    # Windows系统
    java -cp .;../lib/mysql-connector-java-8.0.30.jar newapp2jdbc
    
    # Linux/macOS系统
    java -cp .:../lib/mysql-connector-java-8.0.30.jar newapp2jdbc
    
    如果命令行能正常运行,说明是VSCode的运行配置问题;如果仍报错,检查驱动包路径或版本是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 23:50:28