1

Mavenで構築しているJavaプロジェクトがあります。現在、hibernate3-maven-plugin を取得して hbm2ddl ツールを実行し、注釈付きドメイン クラスからデータベース スキーマを作成するために使用できる schema.sql ファイルを生成しようとしています。これは、Hibernate をプロバイダーとして使用する JPA アプリケーションです。

私の persistence.xml ファイルでは、mysql ドライバーを呼び出します。

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

Maven を実行すると、すべてのクラスが処理されていることがわかりますが、スキーマを出力しようとすると、次のエラーが発生します。

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

このモジュールの依存関係として MySQL ドライバーがあります。ただし、hbm2ddl ツールでは見つからないようです。Maven プラグインは、ローカルの Maven ファイル リポジトリでこのドライバーを検索することを認識していたと思います。何を与える?

私の pom.xml の関連部分は次のとおりです。

<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>
4

1 に答える 1

0

私はそれを考え出した。PLUGINの依存関係として、対応するJDBCドライバーを追加する必要があります。モジュールの依存関係として追加しても何も起こりません。これは私には驚くべきことであり、実際には一種の足の不自由な人です。

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <type>jar</type>
            <version>5.0.8</version>
        </dependency>
    </dependencies>   
于 2010-05-14T04:55:38.347 に答える