eclipse - 如何在 Eclipse web 项目中安装 JDBC 驱动程序而不面对 java.lang.ClassNotFoundexception

标签 eclipse jakarta-ee jdbc classnotfoundexception

There is a VERY similar question到我的,但就我而言,我的构建路径中没有任何重复的 jar,因此该解决方案对我不起作用。我已经在谷歌上搜索了几个小时,但我在那里找到的解决方案都没有真正解决我的问题。我正在为家庭作业创建一个具有一些数据库连接的网站。我正在使用 MySQL 数据库,在 Eclipse 中开发并在 Windows 上运行。

我不断收到 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver使用以下代码:

import java.sql.*;
//...
public void someMethodInMyServlet(PrintWriter out)
{
    Connection connection = null;
    PreparedStatement query = null;
    try {

        out.println("Create the driver instance.<br>");
        Class.forName("com.mysql.jdbc.Driver").newInstance();

        out.println("Get the connection.<br>");
        connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "secret");
        query = connection.prepareStatement( "SELECT * FROM customers");

        //...
    } catch (Exception e)
    {
        out.println(e.toString()+"<br>");
    }
}
//...

当我运行上面的代码时,我得到以下输出:
Create the driver instance.
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

它没有通过 Class.forName...线,我不知道为什么!这是我所做的:
  • 下载 mysql 连接器。
  • 把它放在我的 MySQL 文件夹中 C:\Program Files\MySQL\mysql-connector-java-5.1.12\mysql-connector-java-5.1.12-bin.jar .
  • 在 Eclipse 中打开项目属性。
  • 将外部 Jar 添加到我的构建路径,然后我选择了 mysql-connector-java-5.1.12-bin.jar .

  • 每次我尝试使用 servlet 时,我都会收到相同的错误,无论我在那里有 jar 还是没有。你能帮我解决这个问题吗?

    最佳答案

    对于 webapp 将使用的 JAR 文件风格的每个“3rd-party”库,只需将物理 JAR 文件复制/放到 webapp 的 /WEB-INF/lib 中。 .然后它将在 webapp 的默认类路径中可用。此外,Eclipse 足够聪明,可以注意到这一点。无需麻烦构建路径。但是,请确保删除您之前添加的所有不必要的引用,否则可能会发生冲突。
    另一种方法是通过将物理 JAR 文件放在服务器自己的 /lib 中来将其安装在服务器本身中。文件夹。当您使用服务器提供的 JDBC 连接池数据源而需要 MySQL JDBC 驱动程序时,这是必需的。
    也可以看看:

  • How to add JAR libraries to WAR project without facing java.lang.ClassNotFoundException? Classpath vs Build Path vs /WEB-INF/lib
  • How should I connect to JDBC database / datasource in a servlet based application?
  • Where do I have to place the JDBC driver for Tomcat's connection pool?
  • JDBC CLASSPATH Not Working
  • 关于eclipse - 如何在 Eclipse web 项目中安装 JDBC 驱动程序而不面对 java.lang.ClassNotFoundexception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2353141/

    相关文章:

    java - statements.executeUpdate() 始终返回 1

    java - 为什么 SimpleDateFormat 无法正确解析我的日期?

    eclipse - 在 Eclipse 或任何编辑器中自动更新许多文档中的文本

    在 Eclipse 中启动时状态栏中的 Android 应用程序名称未更改

    java - 如何让 Eclipse 和 Maven 下载我需要的 JAR?

    web-services - 如何使用 ssl 保护 Web 服务

    jakarta-ee - Vaadin 7,Atmosphere 和服务器推送问题

    java - Eclipse 无法加载 SWT 库

    java - 为什么抛出EJBException是 "recommended"的做法?

    java - 如何修复 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException : No operations allowed after connection closed. 异常?