com.mysql.jdbc.Treiber nicht gefunden mit mysql-connector im buildpath
Ich benutze Eclipse juno. Ich habe mysql-connector-java-5.1.22-bin.jar in meinen buildpath und ich versuche zum herstellen einer DB-Verbindung zu meiner mysql-Datenbank. Hier ist mein code
public Connection getConnectionToDB() {
try {
Class.forName(driver);
Connection con = DriverManager.getConnection(url + dbName,
userName, password);
return con;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
Wenn ich Debuggen fand ich heraus, das problem ist:
Class.forName(driver);
ich habe auch versucht, ihn zu ersetzen mit:
Class.forName(driver).newInstance();
In dieser Linie, bricht es aus um die exception und wirft diese exception:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at main.jdbc.BaseJdbc.getConnectionToDB(BaseJdbc.java:18)
at main.jdbc.UserDriverJdbc.queryUserById(UserDriverJdbc.java:15)
at main.drivers.UserDriver.findUserById(UserDriver.java:50)
at main.drivers.UserDriver.isLoginValid(UserDriver.java:56)
at main.controllers.LoginController.doPost(LoginController.java:33)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:164)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:164)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
InformationsquelleAutor Murat Sayılgan | 2012-10-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Antwort war ziemlich schwierig für mich zu finden, aber ich es herausfinden. Es war natürlich classpath-problem.
Wenn Sie jemals auf ein problem stoßen, wie dies und versuchen, es zu lösen innerhalb von eclipse, gehen Sie zu
und fügen Sie den
als neue variable. Nennen Sie es wie immer Sie wollen. Hoffe, das hilft.
InformationsquelleAutor Murat Sayılgan
Müssen Sie sicherstellen, dass Sie über die entsprechenden Bibliotheken und jar-Dateien geladen, die in Ihrem Projekt. Ich habe mich mit dieser viel beim arbeiten mit postgresql. Ich würde denken, du bist nur fehlt die jar-Datei.
haben Sie sich auf einige der anderen Fragen geschrieben, die auf Website? Ich fand das eine, die scheint ähnlich zu dem, was Sie tun stackoverflow.com/questions/12601879/... und dieser stackoverflow.com/questions/12633149/.... Sonst bin ich an einem Verlust für Ideen. Dein code sieht korrekt.
Ich habe gerade erkennen, das problem könnte sein, eclipse juno bezogen. Ich kann nicht scheinen, um meine log4j arbeiten zu können. Ich werde es mehr Graben.
InformationsquelleAutor Gene Parmesan
Das war mein problem, die wurde hier beantwortet:
SO Link
"Wenn dieser code funktioniert in Ihrem J2SE es bedeutet, dass Sie brauchen, um eine JAR-Datei irgendwo mit com.mysql.jdbc.Fahrer Klasse (so genannte JDBC-Treiber). Diese JAR-Datei muss sichtbar in Tomcat. Also, ich würde vorschlagen, um Platz mysql-jdbc.jar bei physikalischen Speicherort /WEB-INF/lib Verzeichnis des Projekts." Von
InformationsquelleAutor beplaya
Ich habe auf der Suche nach einer Lösung überall. Vielleicht ist das nicht deine Lösung, aber mit Eclipse war ich das exportieren als JAR-Datei und bekam dieselbe Ausnahme, aber dann exportiert als "Runnable JAR"und es hat funktioniert.
InformationsquelleAutor Esteban Subissi
Wenn du netbeans verwenden Sie dann folgende Schritte durchführen:
gehen Sie zu Ihrer Anwendung>>>Bibliotheken>>hinzufügen von jar (durch Rechtsklick)>> "mysql-connector-java-5.1.22-bin.jar"
InformationsquelleAutor m.rahman