当前位置: 首页 > 知识库问答 >
问题:

Java语言lang.ClassNotFoundException:com.mysql。jdbc。Eclipse中的驱动程序

子车高歌
2023-03-14

代码有什么问题调试时有很多错误。我正在为一个单例类编写代码以连接数据库mysql。

这是我的代码

package com.glomindz.mercuri.util;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;

public class MySingleTon {
    String url = "jdbc:mysql://localhost:3306/";
    String dbName = "test";
    String driver = "com.mysql.jdbc.Driver";
    String userName = "root";
    String password = "";

    private static MySingleTon myObj;   
    private Connection Con ;
    private MySingleTon() {
        System.out.println("Hello");
        Con= createConnection();
    }

    @SuppressWarnings("rawtypes")
    public Connection createConnection() {
        Connection connection = null;
        try {
            // Load the JDBC driver
            Class driver_class = Class.forName(driver);
            Driver driver = (Driver) driver_class.newInstance();
            DriverManager.registerDriver(driver);
            connection = DriverManager.getConnection(url + dbName);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        }
        return connection;
    }

    /**
     * Create a static method to get instance.
     */
    public static MySingleTon getInstance() {
        if (myObj == null) {
            myObj = new MySingleTon();
        }
        return myObj;
    }

    public static void main(String a[]) {
        MySingleTon st = MySingleTon.getInstance();
    }
}

我是java新手。请帮忙。

共有3个答案

鲁辉
2023-03-14

每个人都写了一个答案,但我仍然感到惊讶的是,竟然没有人用最简单的方式来回答
包括jar文件的人员回答。但是,错误仍然会发生。

原因是项目运行时没有部署jar。所以,我们需要做的是,告诉IDE也部署这个jar。

这里的人已经回答了很多次,把jar文件放在WEB-INF的lib文件夹中。这似乎没问题,但为什么要手动执行呢。有一个简单的方法。检查以下步骤:

第1步:如果您还没有将jar文件引用到项目中,请像这样引用它。

右键单击项目并转到项目属性。然后,转到java构建路径,然后通过它添加外部jar文件。

但这仍然不能解决问题,因为通过构建路径添加外部jar只会有助于编译类,并且在运行项目时不会部署jar。为此,请执行以下步骤

右键单击项目并转到项目属性。然后,转到部署程序集,然后按Add,然后转到java构建路径条目并添加库,无论它是jstl、mysql还是任何其他jar文件。将它们添加到部署中。下面是显示它的两张图片。

李烨烁
2023-03-14

如果IDE中出现错误(编译时错误),则需要将mysql连接器jar文件添加到libs中,并将其添加到引用的项目库中。

如果您在运行它时收到此错误,那么可能是因为您没有将mysql-连接器JAR文件包含到Web服务器的lib文件夹中。

添加mysql-connector-java-5.1.25-bin。jar到类路径以及Web服务器的lib目录。Tomcat lib path作为示例给出

申屠锦
2023-03-14

mysql连接库似乎不包含在项目中。解决以下问题的建议解决方案之一:

  • MAVEN项目解决方案

将mysql连接器依赖项添加到pom。xml项目文件:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.39</version>
</dependency>

以下是所有版本:https://mvnrepository.com/artifact/mysql/mysql-connector-java

  • 所有项目解决方案

将jar库手动添加到项目中。

右键单击项目--

在库选项卡中按添加外部Jar选择您的jar。

你可以在这里找到mysql连接器的zip

  • 说明:

构建项目时,java会抛出一个异常,因为找不到mysql连接库中的文件(com.mysql.jdbc.Driver类)。解决方案是将库添加到项目中,java会找到com.mysql.jdbc.Driver

 类似资料:
  • 在Eclipse BIRT数据资源管理器中为查询生成器添加JDBC数据库连接: 选择“查询生成器的JDBC数据库连接” 就这样。我可以使用此数据源来使用数据集。 下一个。 我希望使用更灵活的“JDBC数据源”,而不是以前成功使用的“查询生成器的JDBC数据库连接”。哦,我看到MySQL没有驱动程序类-Derby和Sample只有两个默认条目。 似乎JDBC驱动程序的有效注册没有添加(或注册?)司机

  • 我已经回顾了Stack Overflow上关于“找不到适合jdbc的驱动程序”的许多其他帖子。但是,其他帖子中的解决方案似乎是围绕使用“DriverManager”,将数据库连接器JAR放置在Eclipse中的“JavaBuild Path”中,如下所示: 我采取了不同的方法。我在Eclipse中IBMLiberty应用程序服务器运行时。根据IBM留档,我将JAR放在Liberty上,并使用“jd

  • 我尝试使用TNS URL、用户名和密码连接到Oracle 11i数据库。JNDI正在成功查找数据源,但我无法获得连接。相反,我看到下面的堆栈跟踪。 我的Maven设置如下。 我的Spring MVC应用程序已经部署到Tomcat 8。我的oracle jar文件位于位置。如下所示 我的web.xml配置 我不确定我做错了什么。我能够使用DriverManager API成功连接。我看了下面的帖子,

  • IBM_DB adapter & driver 是 Ruby 用来连接 IBM DB2数据库的驱动程序。 随着 IBM_DB adapter & driver的引入,Rails 应用程序可以无缝地与 IBM 数据进行交互。IBM_DB adapter & driver是一个由 IBM 官方开发并维护的用于 Ruby 的 DB2 驱动。实际上,它的开发人员就是 DB2 的开发人员。因此,在性能和对

  • 我需要在Java中使用JDBC做一些简单的实验,我认为运行derby数据库应该是实现这一点的简单途径。 我已经安装了derby,并使用“ij”工具创建了一个表并将一些数据放入其中。我也可以用ij读回数据。 然而,当我试图使用实际的Java代码连接到此时,事情变得很糟糕。这是我尝试了几件事情的情况之一,每件事都以不同的方式失败,所以我希望你们都能原谅这有点模糊。但这些是我迄今为止尝试/失败的要点。

  • 问题内容: 有人告诉我,加载JDBC驱动程序的首选方法是: 我知道,这对于从XML配置文件或用户输入中读取多个驱动程序之间的动态决策更好。我很好奇的是,调用此语句如何将指定的驱动程序加载到我们什至没有将生成的“ Class”对象存储在任何地方的环境中。JavaDocs条目说: 返回与具有给定字符串名称的类或接口关联的Class对象 在那种情况下,Java开发人员仅凭此语句如何设法促进驱动程序对象的