我曾经使用一个 ant 目标在 Hibernate 4.x 中为我的类添加仪器:
<target name="instrument" depends="compile">
<taskdef name="enhance" classname="org.hibernate.tool.enhance.EnhancementTask">
<classpath refid="extended.classpath"/>
<classpath path="${classbin.dir}"/>
</taskdef>
<instrument verbose="true">
<fileset dir="${TARGETROOT}/home/WEB-INF/classes">
<include name="org/zfin/publication/Publication.class"/>
</fileset>
</instrument>
</target>
但是当我升级到Hibernate 5.3.7时,它停止工作了。在ant中正确的方法是什么?请注意,我不使用Maven。
我尝试了这个更改
<target name="instrument" depends="compile">
<taskdef name="enhance" classname="org.hibernate.tool.enhance.EnhancementTask">
<classpath refid="extended.classpath"/>
<classpath path="${classbin.dir}"/>
</taskdef>
<enhance base="${classbin.dir}" dir="${classbin.dir}/org/zfin/publication" failOnError="false" enableLazyInitialization="true"
enableDirtyTracking="false"
enableAssociationManagement="false"
enableExtendedEnhancement="false">
</enhance>
</target>
但它输出了 [增强] 无法增强类:Publication.class
表明它没有起作用。它增强了那个目录中的一些类,但并没有我需要的那个类。