如何在EclipseWeb项目中不面向java.lang.ClassNotFoundexce

如何在EclipseWeb项目中不面向java.lang.ClassNotFoundexception安装JDBC驱动程序

我在构建路径中没有任何重复的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。你能帮我弄清楚吗?


繁星淼淼
浏览 718回答 3
3回答

慕无忌1623718

对于webapp要使用的JAR文件的每一个“第三方”库,只需在webapp中复制/删除物理JAR文件即可。/WEB-INF/lib..然后,它将在webapp的默认类路径中提供。而且,Eclipse足够聪明地注意到了这一点。没必要在建筑小道上找麻烦。但是,请确保删除之前添加的所有不必要的引用,否则可能会发生冲突。另一种方法是将物理JAR文件删除到服务器自己的服务器中,将其安装在服务器本身中。/lib文件夹。当您使用服务器提供的JDBC连接池数据源时,这是必需的,而后者又需要MySQLJDBC驱动程序。

呼唤远方

因为您正在运行它servlet,您需要通过Servlet容器..您可以将连接器作为应用程序的一部分包括在内。war或者将其作为servlet容器的扩展库和数据源管理(如果有)的一部分。第二部分完全取决于您拥有的容器。
打开App,查看更多内容
随时随地看视频慕课网APP