【问题标题】:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver. [duplicate]java.lang.ClassNotFoundException:com.mysql.jdbc.Driver。 [复制]
【发布时间】:2014-05-09 01:51:51
【问题描述】:

我正在使用 Java/Eclipse 连接 MySQL 数据库,但遇到以下错误。

错误信息:

无法连接到数据库java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

代码:

<%
  try {
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    Connection myCon = DriverManager.getConnection("jdbc:mysql://localhost/myDB", "root", "password");
    if(! myCon.isClosed())
      out.println("Successfully connected to " + "MySQL server!");

    myCon.close();
  }catch(Exception ex){
      out.println("Unable to connect to database" + ex);
  }      
%>

我知道这个问题已经被问到here,但我仍然无法解决这个问题。

环境变量:

JAVA_HOME: C:\Program Files\Java\jdk1.7.0_51

CLASSPATH: .%JAVA_HOME%\lib;C:\Program Files\MySQL\Connector J 5.1.29;

我该如何解决这个问题?

【问题讨论】:

  • 正如@ThorbjørnRavnAndersen 所说,CLASSPATH 通常不适用于 Web 环境。即使这样做(在更经典的环境中),您也需要确切的 jar 名称,而不是包含 jar 的目录的名称。
  • @bruno 请参阅docs.oracle.com/javase/7/docs/technotes/tools/solaris/…,了解如何在类路径定义中使用通配符。

标签: java mysql eclipse tomcat jdbc


【解决方案1】:

Eclipse 项目不知道数据库驱动程序在哪里。您需要将它们包含在 WEB-INF/lib 目录下,以便它们成为类路径的一部分。

【讨论】:

    【解决方案2】:

    在 tomcat 内部,外部定义不适用。

    要么将驱动程序 jar 部署到您的应用程序中,要么将其添加到 Tomcat 内的扩展库中。如果不希望 Tomcat 帮助您,我会使用第一个。连接池或类似的

    【讨论】:

      【解决方案3】:

      如果您使用的是 eclipse,则在项目 lib 文件夹中添加 MySQL jar。

      【讨论】:

      • 感谢您提供所有这些答案。它在将 mysql-connector-java-5.1.29-bin.jar 复制到 WEB-INF/lib 目录后工作。通过添加将引用 mySql 连接器 jar 的代码语句是否还有另一种方法?在一个论坛中,他们建议编写以下内容:java -cp;。 myclass 我应该在哪里写这个命令?再次感谢您。
      【解决方案4】:

      是的,它也适用于我的错误 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver.

      将 sql connector jar 文件复制到 web-inf 的 lib 文件夹中。

      复制后,从html到mysql数据库的值被成功插入 感谢您的帮助

      【讨论】:

        猜你喜欢
        • 2013-03-27
        • 2012-12-15
        • 2021-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-22
        • 1970-01-01
        相关资源
        最近更新 更多