2009-04-15 1 views
3

Ich versuche, Hibernate-Tools in einer Ant-Build zu generieren ddl aus meinen JPA-Annotationen. Ant stirbt auf dem taskdef-Tag. Ich habe mit Ameisen 1.7, 1.6.5 und 1.6 vergeblich versucht. Ich habe es sowohl in der Finsternis als auch draußen versucht. Ich habe versucht, alle hbn Gläser in den Hibernate-Tools-Pfad und nicht. Beachten Sie, dass ich auf diesen Beitrag meine Build-Datei basiert:Warum bekomme ich den Fehler "Nur Antlib-URIs können von der URI allein, nicht die URI gefunden werden" beim Versuch, Hibernate-Tools in meiner build.xml auszuführen

Hibernate JPA to DDL command line tools

Ich bin Eclipse 3.4 mit WTP läuft 3.0.1 und MyEclipse 7.1 auf Ubuntu 8.

build.xml:

<project name="generateddl" default="generate-ddl"> 

<path id="hibernate-tools"> 
    <pathelement location="../libraries/hibernate-tools/hibernate-tools.jar" /> 
    <pathelement location="../libraries/hibernate-tools/bsh-2.0b1.jar" /> 
    <pathelement location="../libraries/hibernate-tools/freemarker.jar" /> 
    <pathelement location="../libraries/jtds/jtds-1.2.2.jar" /> 
    <pathelement location="../libraries/hibernate-tools/jtidy-r8-20060801.jar" /> 

</path> 

<taskdef classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="hibernate-tools"/> 

<target name="generate-ddl" description="Export schema to DDL file"> 
<!-- compile model classes before running hibernatetool --> 

    <!-- task definition; project.class.path contains all necessary libs 
    <taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="project.class.path" /> 
    --> 

    <hibernatetool destdir="sql"> 

     <!-- check that directory exists --> 
     <jpaconfiguration persistenceunit="default" /> 

     <classpath> 

      <dirset dir="WebRoot/WEB-INF/classes"> 
       <include name="**/*"/> 
      </dirset> 
     </classpath> 

     <hbm2ddl outputfilename="schemaexport.sql" format="true" export="false" drop="true" /> 
    </hibernatetool> 
</target> 

Error message (ant -v): 

    Apache Ant version 1.7.0 compiled on December 13 2006 
Buildfile: /home/joe/workspace/bento/ant-generate-ddl.xml 
parsing buildfile /home/joe/workspace/bento/ant-generate-ddl.xml with URI = file:/home/joe/workspace/bento/ant-generate-ddl.xml 
Project base dir set to: /home/joe/workspace/bento 
[antlib:org.apache.tools.ant] Could not load definitions from resource org/apache/tools/ant/antlib.xml. It could not be found. 

BUILD FAILED 
/home/joe/workspace/bento/ant-generate-ddl.xml:12: Only antlib URIs can be located from the URI alone,not the URI 
    at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:216) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:616) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.Target.execute(Target.java:357) 
    at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:140) 
    at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.parseBuildFile(InternalAntRunner.java:191) 
    at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:400) 
    at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137) 

Total time: 195 milliseconds 

Antwort

4

Gemäß der typedef task documentation (von whic h taskdef task ist eine Form von) Das Attribut name ist erforderlich, wenn Sie nicht die Attribute "Datei oder Ressourcentyp" angegeben haben.

Ich bin mir nicht sicher, ob das reparieren Ihr Problem wird, aber es wäre gut, wenn Sie das aus einer möglichen Ursache beseitigen könnten.

Verwandte Themen