2009-04-15 3 views
3

生成するために、ビルド時に休止状態のツールを実行しようとしています。私のJPAアノテーションのddl Antはtaskdefタグで終了します。私は、蟻1.7、1.6.5、および1.6で役に立たなかった。私は日食と外出の両方で試しました。私はすべてのhbn jarをhibernate-toolsのパスに含めるようにしましたが、そうではありませんでした。ビルドXMLで休止状態のツールを実行しようとすると「URIだけでURIからantlib URIだけを見つけることができます」

Hibernate JPA to DDL command line tools

私は8

のbuild.xml UbuntuでWTP 3.0.1とのMyEclipse 7.1で日食3.4実行しています:私はこの記事に私のビルドファイルをベースことに注意してください

<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> 
typedef task documentationによれば

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 

答えて

4

(whicのh taskdef taskは、ファイルまたはリソースタイプの属性を指定していない場合は、name属性が必要です。

これを修正することで問題が分類されるかどうかはわかりませんが、潜在的な原因であることを排除できれば良いでしょう。

関連する問題