我正在尝试从我的 orm.xml 文件生成模式 (ddl)。我正在使用 hibernate3-maven-plugin。我使用 JPA 和 hibernate 作为实现,但对其他实现或 maven 插件持开放态度。我的 pom.xml 中的代码是:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>3.0</version>
<configuration>
<hibernatetool>
<jpaconfiguration persistenceunit="unitname" />
<hbm2ddl export="false" create="true"
update="true" format="true" outputfilename="schemaDiff.ddl" />
</hibernatetool>
</configuration>
</plugin>
</plugins>
</build>
我运行的命令是:
mvn hibernate3:hbm2ddl -e
我收到的错误是:
引起:java.lang.NoClassDefFoundError: org.hibernate.tool.ant.JPAConfigurationTask.createConfiguration(JPAConfigurationTask.java:32) 中的 org/hibernate/util/ReflectHelper org.hibernate.tool.ant.ConfigurationTask.getConfiguration(ConfigurationTask. java:54) 在 org.hibernate.tool.ant.Hbm2DDLExporterTask.createExporter(Hbm2DDLExporterTask.java:51) 在 org.hibernate.tool.ant 的 org.hibernate.tool.ant.HibernateToolTask.getConfiguration(HibernateToolTask.java:302) .ExporterTask.execute(ExporterTask.java:39) 在 org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:186) 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 在sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 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 org.apache.tools.ant.dispatch .DispatchUtils.execute(DispatchUtils.java:106) ... 还有 28 个
引起:java.lang.ClassNotFoundException: org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) 的 org.codehaus.plexus.classworlds.realm.ClassRealm 的 org.hibernate.util.ReflectHelper。 loadClass(ClassRealm.java:244) 在 org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230) ... 40 更多