尝试连接 mysql dbms 时出现 ClassNotFoundException?

Posted

技术标签:

【中文标题】尝试连接 mysql dbms 时出现 ClassNotFoundException?【英文标题】:ClassNotFoundException when trying to connect with mysql dbms? 【发布时间】:2014-11-10 16:38:41 【问题描述】:

我在这个网站上看到了很多解决方案,涉及到我现在面临的同样问题,我也纠正了我的项目结构但仍然没有成功,

第一次尝试我将 mysqlconnector.jar 放入 WEB-INF/lib -> GOT ERROR。 第二,我将它从 lib 文件夹中删除,并添加为构建路径中的外部 jar -> GOT ERROR。 在将 mysqlconnector jar 文件放入 jre8/lib/ext 后,我也尝试了上述两种方法 -> 不成功!

请忽略任何小的或无关的修改,我只需要检查连接即可。我正在运行 JRE8 和 Tomcat8 服务器,我认为这不是问题。

这是一个简单的连接代码,我只是想检查它是否正在建立连接,这就是我没有进一步编码的原因。

public class MySQLConnection 

    public static final String DRIVER_CLASS = "com.mysql.jdbc.Driver"; 
    public static final String URL = "jdbc:mysql://localhost:3306/payinguest";
    public static final String USER = "root";
    public static final String PASSWORD = "root";


    public MySQLConnection() 
        try 
            Class.forName(DRIVER_CLASS);
         catch (ClassNotFoundException e) 
            e.printStackTrace();
        
    
  

我的 index.jsp 是

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="com.pg.dao.MySQLConnection"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<% MySQLConnection db = new MySQLConnection();%>
</body>
</html>

错误:

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1324)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1177)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at com.pg.dao.JDBCMySQLConnection.<init>(JDBCMySQLConnection.java:15)
        at org.apache.jsp.index_jsp._jspService(index_jsp.java:71)

【问题讨论】:

【参考方案1】:

//修正

 Use Jar file Instead of Zip in your class path.

【讨论】:

我只想加载/注册驱动程序,剩下的我可以将它连接到数据库并进一步。我担心的是它停在 Class.forName(DRIVER_CLASS); 行。这是简单的陈述。 我尝试了您建议的步骤,但仍然没有成功! 正如您之前提到的,您已将 jar 文件放在 lib 中,您能否将该 jar 文件也添加到构建路径中,看看它是否有效。执行此项目属性 > Java 构建路径 > 库 > 添加 JARS 并清理项目。 你正在使用的jdk的mysqlconnector版本兼容性如何!! 是的,为什么要使用 zip 文件?很明显是jar文件。

以上是关于尝试连接 mysql dbms 时出现 ClassNotFoundException?的主要内容,如果未能解决你的问题,请参考以下文章

尝试在 MySQL 中连接时出现 java.net.ConnectException [重复]

尝试通过 servlet 连接 mySql 时出现“java.lang.ClassNotFoundException”

Spring Boot,Java,Docker Compose,尝试在两个容器(mysql,my-api)之间建立连接时出现“连接被拒绝”

使用 JDBC 获取与 MySQL 的连接时出现“连接过多”

尝试使用用户输入删除时出现 Python 连接器错误

JDBC连接时出现的两个错误