Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 4.0 hibernatetool任务定义错误_Hibernate_Hbm2ddl - Fatal编程技术网

Hibernate 4.0 hibernatetool任务定义错误

Hibernate 4.0 hibernatetool任务定义错误,hibernate,hbm2ddl,Hibernate,Hbm2ddl,我正在使用Hibernate4.0.0.CR4,并尝试使用hibernate实现Java持久化的“消息”示例。我能够使用ant构建编译和运行应用程序,但是当我尝试使用hibernatetool导出模式时,我遇到了一个错误 build.xml <?xml version="1.0" encoding="UTF-8" standalone="no"?> <project name="HelloWorld" default="compile" basedir=".">

我正在使用Hibernate4.0.0.CR4,并尝试使用hibernate实现Java持久化的“消息”示例。我能够使用ant构建编译和运行应用程序,但是当我尝试使用hibernatetool导出模式时,我遇到了一个错误

build.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project name="HelloWorld" default="compile"  basedir=".">
    <property name="proj.name" value="HelloWorld"/>
    <property name="proj.version" value="1.0"/>

    <!-- Global properties for this build  -->
    <property name="src.java.dir" value="src"/>
    <property name="lib.dir" value="lib"/>
    <property name="build.dir" value="bin"/>

    <path id="project.classpath">
        <fileset dir="${lib.dir}">
            <include name="**/*.jar"/>
            <include name="**/*.zip"/>
        </fileset>
    </path>

    <!-- Useful shortcuts -->
    <patternset id="meta.files">
        <include name="**/*.xml"/>
        <include name="**/*.properties"/>
    </patternset>

    <!-- Cleanup -->
    <target name="clean">
        <delete dir="${build.dir}"/>
        <mkdir dir="${build.dir}"/>
    </target>

    <!-- Compile Java source -->
    <target name="compile" depends="clean">
        <mkdir dir="${build.dir}"/>
        <javac
            srcdir="${src.java.dir}"
            destdir="${build.dir}"
            nowarn="on">
            <classpath refid="project.classpath"/>
        </javac>
    </target>

    <!-- Copy metadata to build classpath -->
    <target name="copymetafiles">
        <copy todir="${build.dir}">
            <fileset dir="${src.java.dir}">
                <patternset refid="meta.files"/>
            </fileset>
        </copy>
    </target>

    <!--Run HelloWorld -->
    <target name="run" depends="compile, copymetafiles"
        description="Build and run HelloWorld">
        <java fork="true"
            classname="hello.HelloWorld"
            classpathref="project.classpath">
            <classpath path="${build.dir}"/>
        </java>
    </target>
    <!-- SchemaExporter -->
    <taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask"
        classpathref="project.classpath"/>
    <target name="schemaexport" depends="compile, copymetafiles"
        description="Exports a generated schema to DB and files">
        <hibernatetool destdir="${basedir}">
            <classpath path="${build.dir}"/>
            <configuration configurationfile="${build.dir}/hibernate.cfg.xml"/>
            <hbm2ddl
                drop="true"
                create="true"
                export="true"
                outputfilename="helloworld-ddl.sql"
                delimiter=";"
                format="true"/>
        </hibernatetool>
    </target>
</project>
以下是我的类路径上的JAR: antlr-2.7.7.jar 同学-0.5.4.jar commons-collections-3.2.1.jar commons-logging-1.1.1.jar dom4j-1.6.1.jar hibernate-commons-annotations-4.0.0.CR2.jar hibernate-core-4.0.0.CR4.jar hibernate-envers-4.0.0.CR4.jar hibernate-jpa-2.0-api-1.0.1.Final.jar hsqldb.jar jandex-1.0.3.Final.jar javassist-3.12.1.GA.jar jboss-logging-3.0.0.GA.jar jboss-transaction-api_1.1_spec-1.0.0.Final.jar


在一些论坛上,我发现缺少的类是hibernate-tools.jar的一部分,但在hibernate版本中找不到这个jar(http://sourceforge.net/projects/hibernate/files/hibernate4/4.0.0.CR4/)

您应该在

<target name="schemaexport" depends="compile, copymetafiles"
    description="Exports a generated schema to DB and files">
    <taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask"
        classpathref="project.classpath"/>

    <hibernatetool destdir="${basedir}">
        <classpath path="${build.dir}"/>
        <configuration configurationfile="${build.dir}/hibernate.cfg.xml"/>
        <hbm2ddl
            drop="true"
            create="true"
            export="true"
            outputfilename="helloworld-ddl.sql"
            delimiter=";"
            format="true"/>
    </hibernatetool>
</target>

<target name="schemaexport" depends="compile, copymetafiles"
    description="Exports a generated schema to DB and files">
    <taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask"
        classpathref="project.classpath"/>

    <hibernatetool destdir="${basedir}">
        <classpath path="${build.dir}"/>
        <configuration configurationfile="${build.dir}/hibernate.cfg.xml"/>
        <hbm2ddl
            drop="true"
            create="true"
            export="true"
            outputfilename="helloworld-ddl.sql"
            delimiter=";"
            format="true"/>
    </hibernatetool>
</target>