Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2010, 04:09
Pelirr
 
Fecha de Ingreso: diciembre-2008
Mensajes: 233
Antigüedad: 15 años, 4 meses
Puntos: 1
"${lib.dir} not found" en build.xml en eclipse

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