2009-12-03 15 views
8

Por favor ayuda, me estoy volviendo un poco loco !!Nuevo en Ant - Problema con rutas relativas

estoy usando antfiles generada Eclipse-para construir un proyecto con dependencias, uno de los cuales tiene su propia BuildFile en un directorio que es un hermano al ancestro directo del proyecto que estoy construyendo. P.ej. si mi directorio es "/ base/modules/clinicalcontext", el directorio de una de las dependencias es simplemente "/ base/core".

Por lo tanto, build.xml generado utiliza ../../core que afaik es correcto. ¡¡Pero no lo es!! Desde la consola, es obvio que Ant remonta a tres niveles de y no solo dos (da FileNotFound en "/core/build.xml").

He intentado cambiar la ruta relativa a "../core" y para mi asombro, de esta manera hormiga se remonta por un nivel (que se lamenta '/ base/módulos/núcleo' bienestar inexistente). Entonces, ¿cómo en el mundo le digo a Ant t que regrese por dos niveles? Preferiría evitar el uso de rutas absolutas, ya que podría tener que mover el proyecto a una máquina diferente algún día.

Gracias a todos.

Respuesta

10

All Ant path será relativo a su directorio de trabajo actual.

Por lo tanto, compruebe de qué directorio está ejecutando su secuencia de comandos.

Sugiero que empiece a usar ${basedir} para obtener una ruta relativa a una ubicación de build.xml.

En su caso, la ruta relativa debe construirse así: ${basedir}/../../core, en lugar de ../../core.

Las incoherencias que encuentre ilustran por qué los scripts de hormigas generadas por eclipse son un buen punto de partida, pero nunca un buen sistema de construcción de proyectos.

EDIT. Me pregunto por qué Eclipse Ant generador no inserta ${basedir} en rutas relativas? Tal vez deberías informarlo como un error.

+0

$ {basedir} está configurado correctamente en. que también es la ubicación del archivo de compilación que estoy usando. – Alessandro

+3

Sí, pero el camino como este ('../../ core') no es relativo a una baseir. '../../ core' depende de su CWD,' $ {basedir} /../../ core' no lo es. –

+1

¡Eso lo hizo, gracias! No consideré que los archivos de compilación de dependencias no cambiarían la CWD. – Alessandro

Cuestiones relacionadas