2016-10-31 164 views
0

我在我的項目pom.xml以下依賴性:找不到com.mysql.jdbc.Driver

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

我沒有任何東西在pom.xml定義有關mySQL

不過,我發現了以下錯誤吧:

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) 

我經過mysql-connector-java那是我的C:\Program Files (x86)\MySQL\Connector.J 5.1\mysql-connector-java-5.1.40-bin.jar盤上下方。我在Eclipse上運行mySQL 5.7.0和JDBC 4.0.0。 MySQL在Eclipse /數據庫開發上直接運行得很好。

我在做什麼錯?

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

編輯:

Maven是不更新上述依賴標籤信息庫。出現在.m2\repository中的MySQL連接器是2-版本5.1.30和版本5.1.38,我手動從中刪除了它們 - 左側.m2\repository\mysql爲空。然後在Eclipse上運行Update Maven。 .m2\repository\mysql此更新後仍然爲空。我應該去哪個MySQL連接器,wat做什麼?

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

EDIT 2:

原來我把下依賴管理標籤mysql的依賴,而不是依賴一個。在我修正之後,花時間在腐敗的jar上 - maven不停地給出奇怪的錯誤。一直工作6小時以上,抱歉虛驚! thx爲富有洞察力的答覆/評論。

現在全部修好了。

+0

將它添加到lib&重新啓動後,它工作嗎? – developer

+0

@javaguy由於某種原因,該jar文件不在.m2 \ repository中。當我在那裏看到這樣做 – Roam

回答

1

您應該檢查您的.m2庫是否位於Deployment Assembly中。點擊右鍵單擊文件夾項目>部署程序集,然後檢查是否有像m2/maven庫這樣的東西。如果它們不是,請按「Add ..」> Java Build Path Entries並將其添加到路徑WEB-INF/lib中進行部署。重新啓動服務器,並應該工作!

編輯 - >在我的Eclipse中的名字是Maven依賴和部署路徑是WEB-INF/lib目錄

+0

thx爲有用的答案。我期待在maven上做到這一點,但到目前爲止,已經到目前爲止,更新到maven資料庫更新 – Roam

2

Tomcat服務器無法加載com.mysql.jdbc.Driver類,所以你需要將mysql-connector-java-5.1.40.jar文件添加到Tomcat服務器的應用程序庫文件夾(C:\TOMCAT_HOME\apache-tomcat\webapps\YOUR_PROJECT\WEB-INF\lib),然後重新啓動Tomcat服務器。

+0

thx爲您的答案。有些東西不對,但是要解決這個問題。請看我的評論 – Roam

0

我有這個問題,當我的mysql連接器的版本不匹配到已安裝的mysql服務器。您可以通過在終端中輸入mysql --version命令來檢查mysql版本。你必須通過mysql-server分配號碼來選擇相應的版本,例如如果mysql版本是:Ver 14.14 Distrib 5.7.17,請不要使用mysql-connect-java:6.0.6。

相關問題