merely thus. 2022-07-19 10:57 采纳率: 100%
浏览 47
已结题

导入JAR后,还是抛出ClassNotFoundException:

问题遇到的现象和发生背景

现象:运行后抛出了java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver。
背景:我用IDEA 创建了一个JAVA项目,专用于连接MYSQL的java程序,然后在使用class.forname("xx");的时候出现异常。代码是没有问题的,因为我把代码放到以前的,同样使用过 连接数据库的 项目里,是没有任何问题的,那个项目的种种配置和这么项目一样。

问题相关代码,请勿粘贴截图

import java.sql.*;
import java.util.Objects;

public class JDBC {
private static Connection con;

public static void main(String[] args){
    String s="bookdb";
    try{
    connect_db(s);
    }catch (Throwable e){
        e.printStackTrace();
    }
}

public static void connect_db(String db_name) throws Throwable {
    Class.forName("com.mysql.cj.jdbc.Driver");
    //连接数据库
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/"+db_name+"?serverTimezone=UTC", "root", "123456");
    //验证是否连接到数据库
    if (con != null) {
        System.out.println("连接成功!");
    } else {
        System.out.println("连接失败!");
    }
    Statement s = con.createStatement();

    System.out.println("获取 Statement对象: " + s);
}

public void close_db() throws SQLException {
    con.close();
    System.out.println("连接被关闭!");
}

public boolean executing_sql(String sql) throws SQLException {
    //executer
    //PreparedStatement ps =con.prepareStatement(sql);
    Statement stmt;
    stmt = Objects.requireNonNull(con).createStatement();
    //executing
    try {
        ResultSet rs = stmt.executeQuery(sql);
        return true;
    } catch (SQLException e) {
        e.printStackTrace();
    }finally {
        return false;
    }

    //ResultSet rs = stmt.executeQuery(Sql);

}

}

运行结果及报错内容

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:520)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
at JDBC.connect_db(JDBC.java:18)
at JDBC.main(JDBC.java:11)

我的解答思路和尝试过的方法

尝试过:1.按步骤重新导入mysql-connection-java-8.0.16.jar,

img

2.为.jar建立依赖(在项目结构里)

img

3.

img

我想要达到的结果

通过配置后,不会有异常

  • 写回答

2条回答 默认 最新

  • 「已注销」 2022-07-19 11:04
    关注

    你导入之后,然后在项目里面还要复制进去 录制要写清楚,路径要写清楚

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月5日
  • 已采纳回答 8月28日
  • 创建了问题 7月19日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改