Domanda

Ho un progetto Java sto costruendo con Maven. Ora sto cercando di ottenere il Hibernate3-Maven-plugin per eseguire lo strumento hbm2ddl per generare un file schema.sql posso usare per creare lo schema del database dalle mie classi di dominio annotate. Si tratta di un'applicazione che utilizza JPA Hibernate come provider.

Nel mio file persistence.xml che io chiamo il driver MySQL:

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>

Quando eseguo Maven, lo vedo l'elaborazione di tutti i miei corsi, ma quando si va a uscita lo schema, ottengo il seguente errore:

ERROR org.hibernate.connection.DriverManagerConnectionProvider - JDBC Driver class not found: com.mysql.jdbc.Driver
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Ho il driver MySQL come dipendenza di questo modulo. Tuttavia sembra che lo strumento hbm2ddl non riesce a trovare. Avrei immaginato che il plugin Maven avrebbe saputo per cercare il repository locale file di Maven per questo driver. Ciò che dà?

La parte rilevante della mia pom.xml è questo:

<plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>hibernate3-maven-plugin</artifactId>
   <executions>
      <execution>
         <phase>process-classes</phase>
         <goals>
            <goal>hbm2ddl</goal>
          </goals>
      </execution>
   </executions>
   <configuration>
       <components>
          <component>
             <name>hbm2ddl</name>
             <implementation>jpaconfiguration</implementation>
          </component>
        </components>
        <componentProperties>
            <persistenceunit>my-unit</persistenceunit>
        </componentProperties>
   </configuration>       
</plugin>
È stato utile?

Soluzione

ho capito. È necessario aggiungere il driver JDBC corrispondente come dipendenza del plugin. L'aggiunta come dipendenza del modulo non fa nulla. Questo sembra sorprendente per me e un po 'stupido in realtà.

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <type>jar</type>
            <version>5.0.8</version>
        </dependency>
    </dependencies>   
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top