Why do I get the error "Only antlib URIs can be located from the URI alone,not the URI" when trying to run hibernate tools in my build.xml

Posted by Casbah on Stack Overflow See other posts from Stack Overflow or by Casbah
Published on 2009-04-15T17:30:10Z Indexed on 2011/01/16 23:53 UTC
Read the original article Hit count: 515

Filed under:
|
|
|

I'm trying to run hibernate tools in an ant build to generate ddl from my JPA annotations. Ant dies on the taskdef tag. I've tried with ant 1.7, 1.6.5, and 1.6 to no avail. I've tried both in eclipse and outside. I've tried including all the hbn jars in the hibernate-tools path and not. Note that I based my build file on this post:

http://stackoverflow.com/questions/281890/hibernate-jpa-to-ddl-command-line-tools

I'm running eclipse 3.4 with WTP 3.0.1 and MyEclipse 7.1 on 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

© Stack Overflow or respective owner

Related posts about hibernate

Related posts about jpa