كيفية الحصول على Hibernate3-Maven-Plugin HBM2DDL للعثور على برنامج تشغيل JDBC؟

StackOverflow https://stackoverflow.com/questions/2831474

سؤال

لدي مشروع Java أقوم ببناءه مع Maven. أحاول الآن الحصول على Hibernate3-Maven-Plugin لتشغيل أداة HBM2DDL لإنشاء ملف Schema.SQL يمكنني استخدامه لإنشاء مخطط قاعدة البيانات من فصول المجال المشروح. هذا هو تطبيق JPA الذي يستخدم Hibernate كمزود.

في ملف pretterence.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>
هل كانت مفيدة؟

المحلول

اكتشفتها. يجب عليك إضافة برنامج تشغيل JDBC المقابل كاعتماد على المكون الإضافي. إن إضافته كاعتماد على الوحدة لا يفعل شيئًا. هذا يبدو مفاجئا بالنسبة لي ونوع من العرجاء في الواقع.

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <type>jar</type>
            <version>5.0.8</version>
        </dependency>
    </dependencies>   
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top