我的项目设置是Hibernate 3.2.5,MySQL,Spring MVC,NetBeans Apache 7.xx
我在构建过程中没有遇到任何错误。跑。
尝试通过Ant任务从注释bean生成SQL DDL脚本,但是我收到以下错误:
Reference C:/cmgr/build/web/WEB-INF/lib/hibernate-tools.jar not found.
但是当我检查路径时,会出现hibernate-tools.jar。
导致错误的Ant taskdef部分:
<taskdef
name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask"
classpathref="C:/cmgr/build/web/WEB-INF/lib/hibernate-tools.jar">
hibernate_ddl.xml(整个Ant文件)
<?xml version="1.0" encoding="UTF-8"?>
<project name="yourmarketnet" default="all" basedir=".">
<property name="build.dir" value="C:/cmgr/build" />
<property name="src.dir" value="C:/cmgr/src/java" />
<target name ="ddl_generation">
<!-- paths to required jars -->
<path id="toolslib">
<path location="${build.dir}/web/WEB-INF/lib/hibernate-annotations.jar" />
<path location="${build.dir}/web/WEB-INF/lib/hibernate-commons-annotations.jar" />
<path location="${build.dir}/web/WEB-INF/lib/dom4j-1.6.1.jar" />
<path location="${build.dir}/web/WEB-INF/lib/org-apache-commons-logging.jar" />
<path location="${build.dir}/web/WEB-INF/lib/hibernate-entitymanager.jar" />
<path location="${build.dir}/web/WEB-INF/lib/hibernate-tools.jar"/>
<path location="${build.dir}/web/WEB-INF/lib/hibernate-entitymanager.jar" />
<path location="${build.dir}/web/WEB-INF/lib/javaassist.jar" />
<path location="${build.dir}/web/WEB-INF/lib/hibernate-tools.jar"/>
<path location="${build.dir}/web/WEB-INF/lib/hibernate3.jar"/>
<path location="${build.dir}/web/WEB-INF/lib/freemarker-2.3.4.jar"/>
<path location="${build.dir}/web/WEB-INF/lib/ejb3-persistence.jar" />
<!-- JDBC DRIVER PATH mysql-connector-java-5.1.20-bin.jar-->
<path location="${build.dir}/web/WEB-INF/lib/mysql-connector-java-5.1.20-bin.jar"/>
</path>
<!-- taskdef -->
<taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="C:/cmgr/build/web/WEB-INF/lib/hibernate-tools.jar">
<!-- path to annotation beans -->
<classpath>
<pathelement path="${build.dir}/web/WEB-INF/classes/com/cmgr/beans" />
</classpath>
</taskdef>
<!-- output DDL script destination -->
<hibernatetool destdir="${src.dir}">
<!-- path to hibernate.cfg.xml -->
<AnnotationConfiguration configurationfile="${src.dir}/resources/hibernate.cfg.xml"/>
<!-- list exporters here -->
<hbm2ddl
export="false"
update="false"
drop="true"
create="true"
outputfilename="${src.dir}/resources/myApps.ddl"
delimiter=";"
format="false"
haltonerror="true"/>
</hibernatetool>
</target>
</project>
根据我的项目设置,有人可以提出建议吗?
答案 0 :(得分:0)
您需要Ant taskdef
任务classpath
参数而不是classpathref
。 ref
参数用于传入在别处定义的Ant引用ID而不是文件系统路径。
那是:
<taskdef
name="hibernatetool"
classname="org.hibernate.tool.ant.HibernateToolTask"
classpath="C:/cmgr/build/web/WEB-INF/lib/hibernate-tools.jar">