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...
线,我不知道为什么!这是我所做的:C:\Program Files\MySQL\mysql-connector-java-5.1.12\mysql-connector-java-5.1.12-bin.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 驱动程序时,这是必需的。
也可以看看:
关于eclipse - 如何在 Eclipse web 项目中安装 JDBC 驱动程序而不面对 java.lang.ClassNotFoundexception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2353141/