gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 22:08:14 30 4
gpt4 key购买 nike

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... 行,我不明白为什么!这是我所做的:

  1. 下载 mysql 连接器。
  2. 将其放入我的 MySQL 文件夹 C:\Program Files\MySQL\mysql-connector-java-5.1.12\mysql-connector-java-5.1.12-bin.jar
  3. 在 Eclipse 中打开项目属性。
  4. 将外部 Jar 添加到我的构建路径,我选择了 mysql-connector-java-5.1.12-bin.jar

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

最佳答案

对于 Web 应用程序要使用的 JAR 文件风格的每个“第 3 方”库,只需将物理 JAR 文件复制/拖放到 Web 应用程序的 /WEB-INF/lib .然后它将在 webapp 的默认类路径中可用。此外,Eclipse 足够聪明,可以注意到这一点。无需麻烦构建路径。但是,请务必删除您之前添加的所有不必要的引用,否则它可能会发生冲突。

另一种方法是通过将物理 JAR 文件放入服务器自己的 /lib 文件夹中,将其安装在服务器本身中。当您使用服务器提供的 JDBC 连接池数据源时,这是必需的,而这又需要 MySQL JDBC 驱动程序。

另见:

关于eclipse - 如何在 Eclipse web 项目中安装 JDBC 驱动程序而不会遇到 java.lang.ClassNotFoundexception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40947104/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com