Eclipselink no suitable driver found for jdbc:mysql

11,149

Solution 1

No suitable driver found for jdbc:mysql://localhost:3306/mazedb

This exception has basically 2 possible causes.

  1. The JDBC URL is wrong (basically, Driver#acceptsURL() has returned false for all of the JDBC drivers loaded so far).
  2. The JDBC driver is not loaded at all (so it's either missing in the runtime classpath or there's a typo in the JDBC driver class name).

As far, the JDBC URL and driver class name looks right. So the driver is not in the runtime classpath at all.


The mysql connector is included in the build path

The JDBC driver needs to be present in the webapp's runtime classpath. In case of a local persistence unit, the JDBC driver JAR file needs to be placed in /WEB-INF/lib folder.

This exception indicates that this is not the case. Placing the JAR file in some random location and manually adding the file to the Build Path without specifying it in the Deployment Assembly can lead to this exception. This is not right. Just drop the JAR file in the /WEB-INF/lib folder, this way Eclipse will do all the necessary magic to set the things right without the need to touch anything in the project's properties.


Unrelated to the concrete problem, consider container managed transactions (set transaction type to JTA instead of resource local). It will greatly reduce boilerplate code in your EJBs to manage the transactions. You only need to create a container managed JNDI datasource and place the JDBC driver in server's /lib instead.

Solution 2

Is this running on a server? Do you have the mysql database driver jar file in your project?

Here is what my driver setup looks like in eclipse. You get to this screen through the database perspective and add a new datasource. You include the driver jar file so it knows where to find the driver. If this is on a server, put the jar file in your lib or deploy folder so it can find the driver.

Mysql setup in eclipse

Share:
11,149
TGM
Author by

TGM

Updated on June 04, 2022

Comments

  • TGM
    TGM almost 2 years

    The error

    No suitable driver found for jdbc:mysql://localhost:3306/mazedb

    The complete error

    INFO: [EL Info]: 2012-01-03
    23:27:35.522--ServerSession(11375975)--EclipseLink, version: Eclipse
    Persistence Services - 2.3.0.v20110604-r9504
    
    INFO: [EL Severe]: 2012-01-03
    23:27:35.528--ServerSession(11375975)--Local Exception Stack: 
    Exception [EclipseLink-4002] (Eclipse Persistence Services -
    2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.DatabaseException Internal
    Exception: java.sql.SQLException: No suitable driver found for
    jdbc:mysql://localhost:3306/mazedb Error Code: 0    at
    org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:324)
        at
    org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:319)
        at
    org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:138)
        at
    org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
        at
    org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:582)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:206)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:472)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getDatabaseSession(EntityManagerFactoryDelegate.java:188)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:277)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:290)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:268)
        at
    com.maze.service.AccountService.validateLogin(AccountService.java:18)
        at
    com.maze.controller.AccountController.performLogin(AccountController.java:31)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)     at
    com.sun.el.parser.AstValue.invoke(AstValue.java:234)    at
    com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
        at
    com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
        at
    javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
        at
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
        at javax.faces.component.UICommand.broadcast(UICommand.java:315)    at
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
        at
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
        at
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)    at
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)   at
    org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
        at
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
        at
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at
    org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
        at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)   at
    com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
        at
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
        at
    org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
        at
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
        at
    com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
        at
    com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
        at
    com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
        at
    com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
        at
    com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
        at
    com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
        at
    com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
        at
    com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
        at
    com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
        at
    com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
        at
    com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:71)     at
    com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
        at
    com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
        at java.lang.Thread.run(Thread.java:662) Caused by:
    java.sql.SQLException: No suitable driver found for
    jdbc:mysql://localhost:3306/mazedb  at
    java.sql.DriverManager.getConnection(DriverManager.java:602)    at
    java.sql.DriverManager.getConnection(DriverManager.java:154)    at
    org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:98)
        ... 51 more
    
    WARNING: #{accountController.performLogin}:
    javax.persistence.PersistenceException: Exception [EclipseLink-4002]
    (Eclipse Persistence Services - 2.3.0.v20110604-r9504):
    org.eclipse.persistence.exceptions.DatabaseException Internal
    Exception: java.sql.SQLException: No suitable driver found for
    jdbc:mysql://localhost:3306/mazedb Error Code: 0
    javax.faces.FacesException: #{accountController.performLogin}:
    javax.persistence.PersistenceException: Exception [EclipseLink-4002]
    (Eclipse Persistence Services - 2.3.0.v20110604-r9504):
    org.eclipse.persistence.exceptions.DatabaseException Internal
    Exception: java.sql.SQLException: No suitable driver found for
    jdbc:mysql://localhost:3306/mazedb Error Code: 0    at
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
        at javax.faces.component.UICommand.broadcast(UICommand.java:315)    at
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
        at
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
        at
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)    at
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)   at
    org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
        at
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
        at
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at
    org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
        at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)   at
    com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
        at
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
        at
    org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
        at
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
        at
    com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
        at
    com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
        at
    com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
        at
    com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
        at
    com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
        at
    com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
        at
    com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
        at
    com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
        at
    com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
        at
    com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
        at
    com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:71)     at
    com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
        at
    com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
        at java.lang.Thread.run(Thread.java:662) Caused by:
    javax.faces.el.EvaluationException:
    javax.persistence.PersistenceException: Exception [EclipseLink-4002]
    (Eclipse Persistence Services - 2.3.0.v20110604-r9504):
    org.eclipse.persistence.exceptions.DatabaseException Internal
    Exception: java.sql.SQLException: No suitable driver found for
    jdbc:mysql://localhost:3306/mazedb Error Code: 0    at
    javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
        at
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
        ... 32 more Caused by: javax.persistence.PersistenceException:
    Exception [EclipseLink-4002] (Eclipse Persistence Services -
    2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.DatabaseException Internal
    Exception: java.sql.SQLException: No suitable driver found for
    jdbc:mysql://localhost:3306/mazedb Error Code: 0    at
    org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:501)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getDatabaseSession(EntityManagerFactoryDelegate.java:188)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:277)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:290)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:268)
        at
    com.maze.service.AccountService.validateLogin(AccountService.java:18)
        at
    com.maze.controller.AccountController.performLogin(AccountController.java:31)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)     at
    com.sun.el.parser.AstValue.invoke(AstValue.java:234)    at
    com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
        at
    com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
        at
    javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
        ... 33 more Caused by: Exception [EclipseLink-4002] (Eclipse
    Persistence Services - 2.3.0.v20110604-r9504):
    org.eclipse.persistence.exceptions.DatabaseException Internal
    Exception: java.sql.SQLException: No suitable driver found for
    jdbc:mysql://localhost:3306/mazedb Error Code: 0    at
    org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:324)
        at
    org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:319)
        at
    org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:138)
        at
    org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
        at
    org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:582)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:206)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:472)
        ... 47 more Caused by: java.sql.SQLException: No suitable driver
    found for jdbc:mysql://localhost:3306/mazedb    at
    java.sql.DriverManager.getConnection(DriverManager.java:602)    at
    java.sql.DriverManager.getConnection(DriverManager.java:154)    at
    org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:98)
        ... 51 more
    
    INFO: Exit : invoke_application 5 WARNING: StandardWrapperValve[Faces
    Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw
    exception javax.faces.el.EvaluationException:
    javax.persistence.PersistenceException: Exception [EclipseLink-4002]
    (Eclipse Persistence Services - 2.3.0.v20110604-r9504):
    org.eclipse.persistence.exceptions.DatabaseException Internal
    Exception: java.sql.SQLException: No suitable driver found for
    jdbc:mysql://localhost:3306/mazedb Error Code: 0    at
    javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
        at
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
        at javax.faces.component.UICommand.broadcast(UICommand.java:315)    at
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
        at
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
        at
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)    at
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)   at
    org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
        at
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
        at
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at
    org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
        at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)   at
    com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
        at
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
        at
    org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
        at
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
        at
    com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
        at
    com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
        at
    com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
        at
    com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
        at
    com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
        at
    com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
        at
    com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
        at
    com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
        at
    com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
        at
    com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
        at
    com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:71)     at
    com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
        at
    com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
        at java.lang.Thread.run(Thread.java:662) Caused by:
    javax.persistence.PersistenceException: Exception [EclipseLink-4002]
    (Eclipse Persistence Services - 2.3.0.v20110604-r9504):
    org.eclipse.persistence.exceptions.DatabaseException Internal
    Exception: java.sql.SQLException: No suitable driver found for
    jdbc:mysql://localhost:3306/mazedb Error Code: 0    at
    org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:501)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getDatabaseSession(EntityManagerFactoryDelegate.java:188)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:277)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:290)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:268)
        at
    com.maze.service.AccountService.validateLogin(AccountService.java:18)
        at
    com.maze.controller.AccountController.performLogin(AccountController.java:31)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)     at
    com.sun.el.parser.AstValue.invoke(AstValue.java:234)    at
    com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
        at
    com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
        at
    javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
        ... 33 more Caused by: Exception [EclipseLink-4002] (Eclipse
    Persistence Services - 2.3.0.v20110604-r9504):
    org.eclipse.persistence.exceptions.DatabaseException Internal
    Exception: java.sql.SQLException: No suitable driver found for
    jdbc:mysql://localhost:3306/mazedb Error Code: 0    at
    org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:324)
        at
    org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:319)
        at
    org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:138)
        at
    org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
        at
    org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:582)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:206)
        at
    org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:472)
        ... 47 more Caused by: java.sql.SQLException: No suitable driver
    found for jdbc:mysql://localhost:3306/mazedb    at
    java.sql.DriverManager.getConnection(DriverManager.java:602)    at
    java.sql.DriverManager.getConnection(DriverManager.java:154)    at
    org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:98)
        ... 51 more
    

    persistence.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
            xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    
        <persistence-unit name="Maze" transaction-type="RESOURCE_LOCAL">
            <properties>
                <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/mazedb"/>
                <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
                <property name="javax.persistence.jdbc.user" value="maze"/>
                <property name="javax.persistence.jdbc.password" value="maze"/>
            </properties>
    
        </persistence-unit>
    </persistence>
    

    The mysql connector is included in the build path

  • TGM
    TGM over 12 years
    I tried it your way but it throws the same error: No suitable driver found for jdbc:mysql://localhost:3306/mazedb
  • TGM
    TGM over 12 years
    I created a ConnectionPoolDataSource on Glassfish3 and placed the connector in Glassfish's lib. Now it seems to work fine. Is this the right way to do it? What happens when I'll run my application in another web container knowing that maybe that one won't have the same settings?
  • BalusC
    BalusC over 12 years
    You just have to configure a datasource with the same JNDI name in the other container (or to make the JNDI name externally configurable as environment variable). It doesn't really matter what kind of datasource exactly it is, as long as it supports connection pooling and JTA transactions (all Java EE 6 containers do).