JDBC 错误解决 [com.mysql.jdbc不存在]以及 [java.lang.NoClassDefFoundError]

博主在使用JDBC连接MySQL数据库时遇到了找不到包和NoClassDefFoundError的问题。首先,解决找不到包的问题,尝试将mysql-connector-java-5.1.23-bin.jar移动到JRE的lib/ext目录,虽然编译成功但运行时出现错误。最终,通过将jar包添加到系统环境变量CLASSPATH中解决了问题,具体做法是将jar路径改为相对路径并确保正确引用。
摘要由CSDN通过智能技术生成

在JDBC的第一步,编译和运行就出现了错误,花了好久莫名其妙解决了,于是写这篇博客复盘一下解决的过程,希望能给帮到遇到一样问题的小伙伴(PS.虽然解决了,但其实并不明白原理,希望能够得到大佬的解答)

代码:

/*
	JDBC的六个步骤
*/
import java.sql.DriverManager;
import java.sql.Driver;
import java.sql.SQLException;

public class JDBCTest01{
	public static void main(String[] args){
		try{
			//第一步:注册驱动
			Driver driver = new com.mysql.jdbc.Driver();
			DriverManager.registerDriver(driver);
			System.out.println(driver);
		}catch(SQLException e){
			e.printStackTrace();
		}

	}
	
}

问题1 com.mysql.jdbc不存在:在使用DOS窗口运行Java程序连接数据库时出现找不到包的错误提示(jar包地址已经配置到系统环境变量classpath当中)

image-20211015170325746

  • 此时配置的环境变量CLASSPATH

    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;E:\JavaProjects\03-JDBC\mysql-connector-java-5.1.23-bin.jar
    
  • 解决措施:将jar包移动至C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext目录下,编译通过,但是运行报错,显示 java.lang.NoClassDefFoundError: com/mysql/jdbc/Driver

问题2 java.lang.NoClassDefFoundError

  • 背景:加了jar包后,编译通过运行不可通过,此时环境变量为

    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;E:\JavaProjects\03-JDBC\mysql-connector-java-5.1.23-bin.jar
    
  • 尝试方法1:加了jar包后,去除添加的环境变量->不可行

    image-20211016112058776

  • 尝试方法2:加了jar包后,更改环境变量->可行

    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;.\mysql-connector-java-5.1.23-bin.jar
    

    【一脸震惊】

    s

总结:

第一次写博客花了很多时间解决图片、格式等问题,但是还是很有收获滴,因此决定写博客分享自己的学习日记,还请各位多多指教!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值