Android "No suitable driver found for jdbc:mysql://localhost..."

3 respostas Resolvido
webservidorjava
A

Estou com um problema com um web service que estou desenvolvendo utilizando o Jersey.
Quando faço a chamada da URL um erro que irei postar logo abaixo é exibido. Parece ser algum problema com a conexão com o banco de dados, porém dentro desse meu web service tenho uma classe para testar a conexão e tudo executa normalmente, retornando os dados como esperado. Quando faço a chamada pelo web-service ele não consegue sequer criar a conexão com o banco de dados.

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/android_webapp?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at br.edu.devmedia.config.DatabaseConfig.getConnection(DatabaseConfig.java:21)

at br.edu.devmedia.dao.UsuarioDAO.isUsuarioAutenticado(UsuarioDAO.java:14)

at br.edu.devmedia.rest.UsuarioService.isLoggedIn(UsuarioService.java:29)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)

at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)

at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)

at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)

at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)

at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)

at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)

at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)

at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)

at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)

at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)

at org.glassfish.jersey.internal.Errors.process(Errors.java:315)

at org.glassfish.jersey.internal.Errors.process(Errors.java:297)

at org.glassfish.jersey.internal.Errors.process(Errors.java:267)

at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)

at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)

at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)

at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:471)

at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:425)

at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:383)

at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:336)

at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:223)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

Alguem saberia me dizer o que é este erro?
Desde já agradeço a atenção de todos.

3 Respostas

A
Solucao aceita

Fala Arivaldo,

Acredito que o problema possa estar sendo ocasionado pelo seguinte:

  • Quando rodamos uma aplicação Java via Jar, as bibliotecas do BuildPath são passadas para JVM e o programa roda.
  • Quando fazemos testes com servidor de aplicações, o BuildPath do projeto não é passado para a JVM do servidor. Então a impressão que eu estou tendo é que o teu servidor de aplicação não está vendo o jar do jdbc. Tenta colocar esse cara no BuildPath do servidor.

Qualquer coisa é só falar, abraços!

I

Vê se na hora de gerar o war, ele já levando a lib do jdbc, ou pode colocar colocar o jar na lib do servidor.

A

Galera muito obrigado!

Como disseram foi necessário colocar o jar na lib do servidor e também foi preciso registrar o driver do mysql na aplicação, como segue abaixo.

Class.forName(“com.mysql.cj.jdbc.Driver”);

Criado 27 de setembro de 2016
Ultima resposta 28 de set. de 2016
Respostas 3
Participantes 3