Как добавить задачу hbm2java в Ant в NetBeans
Я пытаюсь сгенерировать POJO из сопоставления XML-файлов. Я прочитал кое-что о добавлении задачи муравья, чтобы сделать это легко.
Я добавил этот xml ниже в build-impl.xml моего проекта в Netbeans, но ничего не происходит:
<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". Я имею в виду, я знаю, что он должен содержать classpath к распределению гибернации. Настоящая проблема в том, что я не знаю, как заставить задачу 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
4 ответа
Я ничего не знаю о hbm2java, но после добавления задачи, как в коде выше, вам нужно добавить jar-файлы, связанные с этим, в Ant. Это делается путем копирования файла JAR Inton $ANT_HOME/lib
каталог. Ты сделал это?
Выяснилось: следует заменить 'org.hibernate.tool.ant.Hbm2JavaExporterTask' на 'org.hibernate.tool.ant.HibernateToolTask'
Вот как я это использую.
<hibernatetool destdir="${src.java.dir}">
<configuration>
<fileset dir="${src.java.dir}">
<include name="**/*.hbm.xml"/>
</fileset>
</configuration>
<hbm2java/> <!-- Generate POJO source -->
</hibernatetool>
</target>