Hola, tengo un problema con un archivo build.xml, no me reconoce una librería y no tengo la más remota idea de porqué. La librería está dentro del directorio lib, y la clase que pongo está dentro de esta librería, lo he comprobado, por lo que no entiendo porqué eclipse me muestra el siguiente mensaje:
"C:\Documents and Settings\empalacios\workspaceManningJP\HelloWorldJ P\${lib.dir} not found."
éste es el build.xml:
Código:
<project name="HelloWorldJP" default="compile" basedir=".">
<!-- Nombre y versión del proyecto-->
<property name="proj.name" value="HelloWorldJP"/>
<property name="proj.version" value="1.0"/>
<!-- Propiedades globales para este constructor -->
<property name="src.java.dir" value="src"/>
<property name="lib.dir" value="lib"/>
<property name="build.dir" value="bin"/>
<!-- Declaración del classpath -->
<path id="project.classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
<include name="**/*.zip"/>
</fileset>
</path>
<!-- Accesos directos útiles -->
<patternset id="meta.files">
<include name="**/*.xml"/>
<include name="**/*.properties"/>
</patternset>
<!-- Limpieza -->
<target name="clean">
<delete dir="${build.dir}"/>
<mkdir dir="${build.dir}"/>
</target>
<!-- Compilar las fuentes de java -->
<target name="compile" depends="clean">
<mkdir dir="${build.dir}"/>
<javac srcdir="${src.java.dir}" destdir="${build.dir}" nowarn="on">
<classpath refid="project.classpath"/>
</javac>
</target>
<!-- Copia de metadatos para construir el classpath -->
<target name="copymetafiles">
<copy todir="${build.dir}">
<fileset dir="${src.java.dir}">
<patternset refid="meta.files"/>
</fileset>
</copy>
</target>
<!-- Ejecutando HelloWorldJP -->
<target name="run" depends="compile, copymetafiles"
description="Build and run HelloWorldJP">
<java fork="true" classname="hello.HelloWorld"
classpathref="project.classpath">
<classpath path="${build.dir}"/>
</java>
</target>
<!-- Schema Export -->
<taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask"
classpathref="project.classpath"/>
<target name="schemaexport" depends="compile, copymetafiles"
description="Exports a generated schema to DB and file">
<hibernatetool destdir="${basedir}">
<classpath path="${build.dir}"/>
<configuration configurationfile = "${build.dir}/hibernate.cfg.xml"/>
<hbm2ddl drop="true" create="true" export="true"
outputfilename="helloworld-ddl.sql" delimiter=";" format="true"/>
</hibernatetool>
</target>
</project>
y éste es el código del classpath, donde tengo incluído el directorio lib:
Código:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="lib"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="lib/hibernate3.jar"/>
<classpathentry kind="lib" path="lib/hsqldb.jar"/>
<classpathentry kind="lib" path="lib/dom4j-1.6.1.jar"/>
<classpathentry kind="lib" path="lib/hibernate-tools.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
El error me está diciendo que no encuentra la clase "org.hibernate.tool.ant.HibernateToolTask" en el directorio lib, pero sí que la tengo en lib. Lo puedo ver en properties/Java build path, así que, ¿sabe alguien decirme dónde está el error?
Muchas gracias, y un saludo