Hibernate 4.1
を使用してentity-pojos
からschema.ddl
を生成しようとしています。
javaee-api-6.0.jar
を含むHibernate-Librariesは、WEB-INF/lib
にあります。 (プロジェクトはJBoss 7.1.1
で実行されます)。
hibernate.hbm2ddl.auto
を自動スキーマ生成に使用しません。
だから私は、次のantターゲットを持っている:JPA-Pojos用のAntによるスキーマDDL生成が失敗する
<!-- language: xml -->
<target name="ddl-generation"
description="Export schema to DDL file">
<taskdef name="schemaexport"
classname="org.hibernate.tool.hbm2ddl.SchemaExportTask">
<classpath>
<fileset dir="WebContent/WEB-INF/lib">
<include name="*.jar" />
</fileset>
</classpath>
</taskdef>
<schemaexport
properties="${basedir}/src/META-INF/hibernate.properties"
quiet="no"
text="no"
drop="no"
delimiter=";"
output="${basedir}/schema-export.sql" />
</target>
しかし、私はそれを実行したとき、それは次のエラーで失敗します。
java.lang.ClassNotFoundException: org.jboss.logging.BasicLogger
at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1361)
at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1311)
at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1064)
私はアリ-対象のクラスパスにjboss-logging-3.1.0.GA.jar
をコピーすることができ、 javaee-api-6.0.jar
だけコンパイルするためですので、しかし、それは、失敗します。
java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/transaction/SystemException
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
は、私はこれを解決するために何ができますか?
Jboss-Jars
をすべてコピーしてください。
どのようにDDL
をJPA-Pojos
からHibernate 4
に生成するのですか?
Hibernate3
でうまくいくようです。