如何将 hbm2java 任务添加到 NetBeans 中的 Ant
我正在尝试从映射 xml 文件生成 POJO。我读过一些关于添加蚂蚁任务的内容,以轻松完成它。
我已将此 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 的初学者,有人可以帮助我吗?
PS我真的不知道“classpathref”应该是什么。我的意思是我知道它应该包含休眠发行版的类路径。 真正的问题是我不知道如何让 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 文档中看到的:http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/ant.html#d0e2903
I'm trying to generate POJO's from mapping xml files. I read something about adding an ant task, to do it easily.
I've added this xml below to my project's build-impl.xml in Netbeans, but nothing happens:
<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>
I'm beginner to Netbeans, Ant and Hibernate, can anyone help me out?
P.S. i don't really know what should 'classpathref' be. I mean i know it should contain the classpath to the hibernate's distribution.
The real problem is that I don't know how to get an Ant task working..
Edit: I figured out that the script above doesn't work with Hibernate3.. I've got another script, but still not working. The error message shown is: Could not create type hibernatetool as the class class org.hibernate.tool.ant.Hbm2JavaExporterTask has no compatible constructor; And the script:
<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>
This is Hibernate3 compatible, as I saw in the hibernate docs: http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html/ant.html#d0e2903
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我对 hbm2java 一无所知,但是在添加上面代码中的任务后,您需要将与此相关的 jar 添加到 Ant。这是通过将 jar 文件复制到 $ANT_HOME/lib 目录中来完成的。你这样做了吗?
I dont know anything about hbm2java but after adding a task like in the code above, you need to add the jars associated with this to Ant. This is done by copying the jar file inton
$ANT_HOME/lib
directory. Did you do this?弄清楚:应该将 'org.hibernate.tool.ant.Hbm2JavaExporterTask' 替换为 'org.hibernate.tool.ant.HibernateToolTask'
Figured out: should replace 'org.hibernate.tool.ant.Hbm2JavaExporterTask' with 'org.hibernate.tool.ant.HibernateToolTask'
我就是这样使用的。
This is how I use it.
您是否考虑过使用 jpa 注释而不是 xml?
Have you considered using jpa annotations instead of xml?