2009-12-03 18 views
8

Per favore aiuto, sto diventando un po 'matto !!Nuovo in Ant - Problema con percorsi relativi

sto usando antfiles Eclipse generati per costruire un progetto con le dipendenze, una delle quali ha una propria BuildFile in una directory che è un fratello per l'antenato diretto del progetto che sto costruendo. Per esempio. se la mia directory è "/ base/modules/clinicalcontext", la directory di una delle dipendenze è semplicemente "/ base/core".

Quindi, il build.xml generato utilizza ../../core che afaik è corretto. Ma non è!! Dalla console è evidente che Ant torna tre livelli e non solo due (fornisce FileNotFound su "/core/build.xml").

Ho provato a cambiare il percorso relativo "../core" e molto con stupore, così Formica risale da una livello (si lamenta '/ base/moduli/core' essere inesistente). Quindi, come mai nel mondo dico Ant t go back due livelli? Preferirei evitare l'uso di percorsi assoluti, dal momento che potrei dover spostare il progetto su una macchina diversa un giorno.

Grazie a tutti.

risposta

10

Tutto il percorso Ant sarà relativo alla directory di lavoro corrente.

Quindi, controlla da quale directory stai eseguendo il tuo script.

Suggerisco di iniziare a utilizzare ${basedir} per ottenere un percorso relativo a una posizione di build.xml.

Nel tuo caso, il percorso relativo deve essere costruito in questo modo: ${basedir}/../../core, anziché ../../core.

Le incoerenze che si incontrano illustrano un punto per cui gli script di formica generati da Eclipse sono un buon punto di partenza, ma mai un buon sistema di costruzione del progetto.

MODIFICA. Mi chiedo perché il generatore di formiche di eclissi non inserisca ${basedir} in percorsi relativi? Forse dovresti segnalarlo come un bug.

+0

$ {basedir} è impostato correttamente su. che è anche la posizione del file di build che sto usando. – Alessandro

+3

Sì, ma il percorso come questo ('../../ core') non è relativo a una basedir. '../../ core' dipende dal tuo CWD,' $ {basedir} /../../ core' non lo è. –

+1

Questo l'ha fatto, grazie! Non pensavo che i buildfile delle dipendenze non avrebbero cambiato la CWD. – Alessandro

Problemi correlati