java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/sushi

Ich habe eine web-Anwendung eine jar-Datei(lib), um auf die Datenbank zuzugreifen.
Die jar-Datei als standalone-Anwendung ausgeführt wird richtig, aber die webapp wurde mit dem Fehler:

[01-08-12 13:17:05] - 35266 WARN org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 0, SQLState: 08001

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/myapp

Las ich die Antworten auf ähnliche Fragen, aber keine davon mein problem lösen.

Ich bin mit Maven, wo habe ich die Abhängigkeit für die mysql-version, die ich verwende, 5.1.21. In der Tat, ich habe es sowohl für die Lib und die Webapp.

Vorher habe ich versucht zu definieren, in Eclipse ein Connectivity-Treiber-Definition gebunden ist, um die gleiche Datei, die ich kopiert hatte, um WEB-INF/lib im eclipse Projekt für meine Webapp und mit den gleichen Parametern, die ich unten für die persistence.xml Datei

Ich bin nicht mit jedem java zu konfigurieren, da ich die ganze Konfiguration in der persistence.xml die Datei(das habe ich kopiert, um beide META-INF Ordner, die man für die app(lib) und der für die webapp. Ich bin mit Hibernate (4.1.2) durch das JPA.

Den persistence.xml die Datei ist ähnlich:

<persistence 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"
version="2.0">

<persistence-unit name="myappPersistenceUnit"
    transaction-type="RESOURCE_LOCAL">
    <provider> org.hibernate.ejb.HibernatePersistence</provider>
    <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
        <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
        <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/myapp" />
        <property name="javax.persistence.jdbc.user" value="root" />
        <property name="javax.persistence.jdbc.password" value="" />
    </properties>
</persistence-unit> 

</persistence>

Ausnahme, dass ich zur Laufzeit, beim starten einer Http-Anforderung an die app, nicht bei der Initialisierung der webapp, wo ich haven ' T gesehen keine Fehler, aber diese Warnung wird angezeigt:

[01-08-12 13:16:39] - 8782 WARNEN
org.hibernate.Motor.jdbc.intern.JdbcServicesImpl - HHH000342:
Konnte keine Verbindung zur Abfrage von Metadaten : No suitable driver
found for jdbc:mysql://localhost:3306/myapp

Ich denke, dies ist aufgrund der Informationen nachgeschlagen wird aus der Datenbank ist nicht notwendig, init, wird keine Ausnahme ausgelöst, sondern der gleichen Ursache in beiden Fällen.

EDIT:ich benutze Tomcat 6.0

Jede Hilfe wird sehr geschätzt werden.

  • Haben Sie den classpath?
  • Bitte fügen Sie, was application server, den Sie verwenden
  • der classpath sollte nicht verwaltet werden, die von tomcat und maven? (Ich checke in der Zwischenzeit)
  • Ich habe den mysql-connector enthalten im Java Build Path->Bibliotheken über das Apache-Tomcat v6.0 wie ich kopierte die Datei TOMCAT_HOME\lib. Ist es das, was Sie sich beziehen, oder vielleicht sollte ich legen Sie eine system-variable-zu-Punkt auch TOMCAT_HOME\lib?
InformationsquelleAutor Picarus | 2012-08-01
Schreibe einen Kommentar