2012-08-31 45 views
1

我的項目設置爲休眠3.2.5,MySQL的,Spring MVC的,NetBeans的阿帕奇7.xx生成通過從註釋豆在Hibernate中3.xx的Ant任務SQL DDL


我沒有得到任何錯誤在編譯期間&運行。

嘗試通過Ant任務生成註釋豆SQL DDL腳本,但我發現了以下錯誤:

Reference C:/cmgr/build/web/WEB-INF/lib/hibernate-tools.jar not found. 

然而,當我檢查路徑休眠-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

您想要螞蟻taskdef任務classpath參數而不是classpathref。參數ref用於傳入在其他地方定義的Ant引用標識,而不是文件系統路徑。

即:

<taskdef 
    name="hibernatetool" 
    classname="org.hibernate.tool.ant.HibernateToolTask" 
    classpath="C:/cmgr/build/web/WEB-INF/lib/hibernate-tools.jar"> 
+0

謝謝你,我改變了房地產類路徑現在即時得到一個錯誤:java.lang.NoClassDefFoundError:組織/休眠/ cfg /中配置,但是hibernate.cfg.xml文件實際上是在指定的路徑中 – cyber101