![](/img/trans.png)
[英]No suitable driver found for jdbc:mysql://localhost/<myDB>
[英]No suitable driver found for jdbc://localhost
我在Ubuntu 14.04的Jetty 9服务器上部署了一个简单的servlet。 到昨天为止一切都很好。 但是在系统崩溃后,我的MySQL服务器出现了问题,因此必须对mysql服务器进行配置更改以使其正常运行,即在my.cnf
[mysqld]
和[client]
节下添加了socket = /tmp/mysql.sock
行my.cnf
但是现在servlet无法正常工作。 它给了我下面的错误。
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/slappdb
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at slappserver.RegisterServlet.doGet(RegisterServlet.java:74)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:738)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:551)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:568)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:478)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:462)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:279)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:232)
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
at java.lang.Thread.run(Unknown Source)
我完全没有更改servlet代码:
final String DB_URL = DatabaseParameters.SlappDbURL;
final String USER = DatabaseParameters.DbServer_Username;
final String PASSWORD = DatabaseParameters.DbServer_Password;
conn = DriverManager.getConnection(DB_URL, USER, PASSWORD);
驱动程序与以前的位置相同: /home/faizal/DEV/jre1.7.0_55/lib/ext/mysql-connector-java-5.0.8-bin.jar
,该文件包含在项目的构建路径中。
可能出了什么问题?
由于崩溃,我的项目似乎已损坏。 我添加了Class.forName("com.mysql.jdbc.Driver");
行之后,它现在可以工作了Class.forName("com.mysql.jdbc.Driver");
在servlet中。 但是实际上这行不是必需的,因为我使用的是JDBC 4驱动程序。
有趣的是,即使我删除了这一行,它也可以工作。 因此,我仍然不确定是什么问题,但是至少它可以像以前一样正常工作,而无需更改代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.