如何在NetBeans中将Hbm2java任务添加到Ant

时间:2010-02-28 23:37:02

标签: java netbeans ant task hbm2java

我正在尝试从映射xml文件生成POJO。我读了一些关于添加ant任务的内容,以便轻松完成。

我在下面将这个xml添加到我在Netbeans中的项目的build-impl.xml中,但没有任何反应:

<target name="codegen">
     <echo>Zippzip</echo>
    <taskdef name="hbm2java"
             classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask"
             classpathref="javac.classpath"/>
    <hbm2java 
              output="generated/src/">
        <fileset dir="cat/model/">
            <include name="**/*.hbm.xml"/>
        </fileset>
    </hbm2java>
</target>

我是Netbeans,Ant和Hibernate的初学者,任何人都可以帮助我吗?

P.S。我真的不知道'classpathref'应该是什么。我的意思是我知道它应该包含hibernate发行版的类路径。 真正的问题是我不知道如何让Ant任务正常工作..

编辑:我发现上面的脚本不适用于Hibernate3 ..我有另一个脚本,但仍然无法正常工作。显示的错误消息是:无法创建类型hibernatetool作为类类org.hibernate.tool.ant.Hbm2JavaExporterTask没有兼容的构造函数;脚本:

<target name="codegen">
    <taskdef name="hibernatetool"
        classname="org.hibernate.tool.ant.Hbm2JavaExporterTask">
        <classpath refid="project.classpath" />
    </taskdef>

    <hibernatetool destdir="cat/model/">
        <configuration configurationfile="hibernate.cfg.xml"/>
        <hbm2java />
    </hibernatetool>
</target>

这与Hibernate3兼容,正如我在hibernate docs中看到的那样:http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/ant.html#d0e2903

4 个答案:

答案 0 :(得分:1)

我对hbm2java一无所知,但在添加上述代码中的任务后,您需要将与此相关的jar添加到Ant中。这是通过复制jar文件inton $ANT_HOME/lib目录来完成的。你做到了吗?

答案 1 :(得分:1)

想出:应该用'org.hibernate.tool.ant.HibernateToolTask​​'替换'org.hibernate.tool.ant.Hbm2JavaExporterTask'

答案 2 :(得分:0)

这就是我使用它的方式。       

    <hibernatetool destdir="${src.java.dir}">
        <configuration>
            <fileset dir="${src.java.dir}">
                <include name="**/*.hbm.xml"/>
            </fileset>
        </configuration>
        <hbm2java/> <!-- Generate POJO source -->
    </hibernatetool>

</target>

答案 3 :(得分:0)

您是否考虑过使用jpa注释而不是xml?