2016-10-31 5 views
0

Ich habe die folgende Abhängigkeit in pom.xml meines Projekts:nicht gefunden com.mysql.jdbc.Driver

<dependency> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
    <version>5.1.40</version> 
</dependency> 

ich habe nichts anderes zu mySQL in pom.xml definiert zusammen.

aber ich erhalte den folgenden Fehler zu ihm:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332) 
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1166) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:186) 
at com.myPRJ.ec.utils.DatabaseUtil.getConnection(DatabaseUtil.java:50) 
at com.myPRJ.ec.Login.verify.EmailVerifier.verify(EmailVerifier.java:75) 
at com.myPRJ.ec.Login.verify.EmailVerifier.getVerify(EmailVerifier.java:64) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:601) 
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) 
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) 
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) 
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) 
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) 
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) 
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) 
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) 
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) 
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) 
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) 
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) 
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558) 
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670) 
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) 
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
at java.lang.Thread.run(Thread.java:722) 

i durch die mysql-connector-java ging, die unter C:\Program Files (x86)\MySQL\Connector.J 5.1\mysql-connector-java-5.1.40-bin.jar auf meiner Festplatte war. Ich habe mySQL 5.7.0 und JDBC 4.0.0 auf Eclipse ausgeführt. MySQL läuft direkt auf Eclipse/Database Development.

Was mache ich falsch ??

// =====================

EDIT:

Maven ist nicht das Repository auf dem obigen Abhängigkeits Tag aktualisiert wird. Die MySQL-Connectors, die in .m2\repository erschienen, waren 2 - Version 5.1.30 und Version 5.1.38 Ich entfernte sie manuell von dort-- links .m2\repository\mysql leer. dann lief Update Maven auf Eclipse. .m2\repository\mysql nach diesem Update noch leer. für welchen MySQL-Connector sollte ich gehen, was tun?

// ===============

EDIT-2:

stellt sich heraus, i mysql Abhängigkeit unter Abhängigkeitsmanagement-Tag setzen, nicht die Abhängigkeit ein. Nachdem ich das behoben hatte, verbrachte ich viel Zeit mit korrupten Jarmaven, die immer wieder seltsame Fehler machten. hatte 6+ Stunden gearbeitet, Entschuldigung für den Fehlalarm! thx für aufschlussreiche Antworten/Kommentare.

alle jetzt behoben.

+0

Hat es nach dem Hinzufügen des JAR zu lib & restart funktioniert? – developer

+0

@javaguy das Glas ist nicht in .m2 \ Repository noch aus irgendeinem Grund. werde schauen, um das zu tun, wenn ich es dort – Roam

Antwort

1

Sie sollten überprüfen, ob sich Ihre .m2-Bibliotheken in der Deployment-Assembly befinden. Klicken Sie mit der rechten Maustaste auf den Ordner Projekt> Deployment Assembly und prüfen Sie, ob es so etwas wie m2/maven-Bibliotheken gibt. Wenn sie nicht vorhanden ist, drücken Sie "Add .."> Java Build Path Entries und fügen Sie sie zur Bereitstellung im Pfad WEB-INF/lib hinzu. Starten Sie den Server neu und das sollte funktionieren!

Bearbeiten -> In meiner Eclipse ist der Name Maven Abhängigkeiten und das Bereitstellen von Path ist WEB-INF/lib

+0

thx für die nützliche Antwort bekomme. Ich versuche, es auf Maven zu machen, aber bis zu Maven Repository Update bis jetzt – Roam

2

Tomcat-Server die com.mysql.jdbc.Driver Klasse geladen werden konnte, so dass Sie die mysql-connector-java-5.1.40.jar Datei in das Tomcat hinzufügen müssen Server Application lib-Ordner (C:\TOMCAT_HOME\apache-tomcat\webapps\YOUR_PROJECT\WEB-INF\lib) und starten Sie den Tomcat Server neu.

+0

thx für Ihre Antwort zu kochen. etwas falsch mit ihm, noch, um das zu lösen. Bitte sehen Sie meinen Kommentar – Roam

0

Ich hatte dieses Problem, wenn die Version meines mysql-Connectors nicht mit dem installierten mysql-Server übereinstimmte. Sie können die mysql-Version überprüfen, indem Sie im Terminal den Befehl mysql --version eingeben. Sie müssen die entsprechende Version durch die mysql-Server-Verteilungsnummer auswählen, z. Verwenden Sie nicht mysql-connect-java: 6.0.6 für den Fall, dass die mysql-Version lautet: Ver 14.14 Distrib 5.7.17.

Verwandte Themen