0

HibernateツールのAntタスクを使用してスキーマを生成しようとしています。

以下は私のアリの仕事です

<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="GenerateDDL" basedir="." default="createddl">
<property name="src" location="src" />
<property name="bin" location="bin" />
<target name="createddl">

    <property name="lib" location="C:\eclipse\plugins\org.hibernate.eclipse.libs_3.4.0.v20120307-2104-H60-Beta1\lib" />
    <property name="vob.libs" location="C:/lib/java/jars" />
    <property name="jdbc.driver.name" value="${vob.libs}/postgresql-9.0-801.jdbc4.jar" />
    <unjar dest="config">
        <fileset dir="lib" includes="*.jar" />
        <patternset>
            <include name="**/*.class" />
        </patternset>
    </unjar>
    <path id="toolslib">
        <path location="${vob.libs}/hibernate-tools.jar" />
        <path location="${vob.libs}/hibernate3.jar" />
        <path location="${vob.libs}/freemarker.jar" />
        <path location="${jdbc.driver.name}" />
        <path location="${vob.libs}/hibernate-jpa-2.0-api-1.0.0.Final.jar" />
        <path location="${vob.libs}/hibernate-annotations.jar" />
        <path location="${vob.libs}/hibernate-entitymanager.jar" />
        <path location="${vob.libs}/ejb3-persistence.jar" />
        <path location="${vob.libs}/commons-logging.jar" />
        <path location="${vob.libs}/slf4j-jboss-logging.jar" />
        <path location="${vob.libs}/slf4j-api.jar" />
        <path location="${vob.libs}/dom4j.jar" />
        <path location="${vob.libs}/javassist.jar" />
        <path location="${vob.libs}/jboss-logging-spi.jar" />
    </path>

    <taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="toolslib" />
    <mkdir dir="src/generated" />
    <mkdir dir="bin" />
    <hibernatetool destdir="src/generated">
        <classpath>
            <path location="config" />
        </classpath>
        <jpaconfiguration persistenceunit="myPersistenceUnit" />

        <hbm2ddl export="true" drop="true" outputfilename="ddl.sql" format="true" />

    </hibernatetool>
</target>
</project>

ここで、configディレクトリには、エンティティクラスのクラスファイルを含むすべてのクラスファイルが含まれています。このantタスクを実行すると、エラー自体は表示されませんが、ddl.sqlファイルにもスキーマが生成されていません。私はこれをインターネットで調べようとしましたが、満足のいく答えは見つかりませんでした。antタスクを実行した後、コンソールにエラーメッセージが表示されないため、これをさらにデバッグする方法がわかりません。スキーマを生成するためのこのantタスクに私が欠けていることは明らかです。

どんな種類の助けもいただければ幸いです。

ありがとう!

4

1 に答える 1

0

問題がpersistence.xmlに関連していることがわかりました。私のプロジェクトの persistence.xml は、データ ソースを参照していました。アプリがJBossにデプロイされるまでデータソースがロードされないため、クラスパスに完全なpersistence.xmlが必要であり、データソースへの参照は必要ありません

于 2012-04-27T19:46:29.117 に答える