2012-04-26 53 views
0

我正在嘗試使用hibernate工具ant任務生成架構。無法使用hbm2ddl創建架構

下面是我的Ant任務

<?xml version="1.0" encoding="ISO-8859-1"?> 
<project name="GenerateDDL" basedir="." default="createddl"> 
<property name="src" location="src" /> 
<property name="bin" location="bin" /> 
<target name="createddl"> 

    <property name="lib" location="C:\eclipse\plugins\org.hibernate.eclipse.libs_3.4.0.v20120307-2104-H60-Beta1\lib" /> 
    <property name="vob.libs" location="C:/lib/java/jars" /> 
    <property name="jdbc.driver.name" value="${vob.libs}/postgresql-9.0-801.jdbc4.jar" /> 
    <unjar dest="config"> 
     <fileset dir="lib" includes="*.jar" /> 
     <patternset> 
      <include name="**/*.class" /> 
     </patternset> 
    </unjar> 
    <path id="toolslib"> 
     <path location="${vob.libs}/hibernate-tools.jar" /> 
     <path location="${vob.libs}/hibernate3.jar" /> 
     <path location="${vob.libs}/freemarker.jar" /> 
     <path location="${jdbc.driver.name}" /> 
     <path location="${vob.libs}/hibernate-jpa-2.0-api-1.0.0.Final.jar" /> 
     <path location="${vob.libs}/hibernate-annotations.jar" /> 
     <path location="${vob.libs}/hibernate-entitymanager.jar" /> 
     <path location="${vob.libs}/ejb3-persistence.jar" /> 
     <path location="${vob.libs}/commons-logging.jar" /> 
     <path location="${vob.libs}/slf4j-jboss-logging.jar" /> 
     <path location="${vob.libs}/slf4j-api.jar" /> 
     <path location="${vob.libs}/dom4j.jar" /> 
     <path location="${vob.libs}/javassist.jar" /> 
     <path location="${vob.libs}/jboss-logging-spi.jar" /> 
    </path> 

    <taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="toolslib" /> 
    <mkdir dir="src/generated" /> 
    <mkdir dir="bin" /> 
    <hibernatetool destdir="src/generated"> 
     <classpath> 
      <path location="config" /> 
     </classpath> 
     <jpaconfiguration persistenceunit="myPersistenceUnit" /> 

     <hbm2ddl export="true" drop="true" outputfilename="ddl.sql" format="true" /> 

    </hibernatetool> 
</target> 
</project> 

這裏config目錄包含了所有的類文件包括類文件的實體類。 當我運行這個ant任務時,我沒有看到任何錯誤,但是我也沒有在ddl.sql文件中看到任何正在生成的模式。我試圖在互聯網上進行研究,但沒有找到任何令人滿意的答案。我不知道如何進一步調試,因爲在運行ant任務後,控制檯上沒有看到任何錯誤消息。有沒有什麼顯而易見的是我在這個ant任務中缺少它來生成模式。

任何形式的幫助將不勝感激。

謝謝!

回答

0

我已經想出了與persistence.xml相關的問題。我的項目中的persistence.xml引用了數據源。我需要在類路徑中包含完整的persistence.xml,並且沒有對數據源的引用,因爲在應用程序部署到JBoss之前數據源不會被加載。