【问题标题】:java.lang.ClassNotFoundException: com.mysql.jdbc.driver error with jar file already importedjava.lang.ClassNotFoundException:com.mysql.jdbc.driver 错误,已导入 jar 文件
【发布时间】:2014-04-15 23:05:28
【问题描述】:

我一直在寻找解决问题的方法,我发现的唯一解决方案是添加我已经拥有的 jar 文件。这是在 Eclipse EE 中完成的,并且使用的是 tomcat。

我正在运行一个不同的 HTML 文件,一旦按下按钮,它就会链接到这段代码,如果您想要该代码,请随时询问,但上面几乎没有任何内容。

我不断收到错误“java.lang.ClassNotFoundException: com.mysql.jdbc.driver”以及我不确定是否连接的其他 100 行。

这是我所拥有的:

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class HelloForm
 */
@WebServlet("/test5")
public class test5 extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public test5() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub

        String url = "jdbc:mysql://localhost:3306/";
        String dbName = "test";
        String driver = "com.mysql.jdbc.driver";
        String userName = "root";
        String password = "games10";

        try {
            Class.forName(driver).newInstance();
            Connection conn = (Connection) `enter code     here`DriverManager.getConnection(url+dbName,userName,password);

            Statement stat = conn.createStatement();
            //stat.execute("CREATE TABLE test (Name CHAR(20))");
            stat.execute("INSERT INTO TEST VALUES('"+request.getParameter("first_name")+"')");

            conn.close();
            System.out.println("Working");

        }

        catch (Exception e) {

            e.printStackTrace();

        }

    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
    }

}

如果我发布了错误的代码,我表示歉意,我以前从未使用过这个网站并且很累。 正如我所说,我已经导入了“mysql-connector-java-5.1.30-bin.jar”文件。所有的帮助都会张开双臂接受批评。

感谢您的宝贵时间

与驱动程序无关的错误:

java.lang.ClassNotFoundException: com.mysql.jdbc.driver 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) 在 java.lang.Class.forName0(本机方法) 在 java.lang.Class.forName(未知来源) 在 test5.doGet(test5.java:59) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:620) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) 在 org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2441) 在 org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2430) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源) 在 java.lang.Thread.run(Unknown Source)

【问题讨论】:

    标签: java mysql tomcat jdbc driver


    【解决方案1】:

    导入jar后,你必须将它添加到你的项目的构建路径中。

    right click on jar file -> build path ->add to build path

    【讨论】:

    • 我首先使用构建路径添加它,所以它已经添加了。这会导致它不起作用吗?
    【解决方案2】:

    你拼错了类名,但你不需要它。只需删除该行。自 JDBC 4.0 以来,它已经过时多年了。

    【讨论】:

      【解决方案3】:

      我发现了问题。我需要一个大写的 D in String driver = "com.mysql.jdbc.driver";

      天哪,我现在觉得自己很愚蠢

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-19
        • 2015-01-19
        • 2015-04-04
        • 2018-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多