2009-04-22 7 views
6

OK, sono perplesso.attività ant per copiare il file delle proprietà nella loro posizione corrispondente nella directory di costruzione java

Ho un albero di Java che si presenta come un abbastanza tipico accumulo Eclipse Java:

myproject 
    src 
    com 
     example 
     test 
      // Java files in com.example.test here 
    bin 
    com 
     example 
     test 
      // Compiled class files will go here 

Ora ho un file MyClass.properties in myproject/src/com/example/test insieme ai file sorgente Java. Come posso scrivere un'appropriata operazione ant per copiare tutti i file .properties modificati nell'albero dei sorgenti, nelle loro posizioni corrispondenti nella struttura build (myproject/bin)?

(La metà più facile di questo è quello di fare la copia reale, la parte più difficile di questo che sto indovinando è il controllo per le dipendenze)

risposta

16

ne dite:

<copy todir="myproject/bin"> 
    <fileset dir="myproject/src" includes="**/*.properties"/> 
</copy> 
+1

è così ?! grazie! dove si parla del **/preserving paths per la dir di destinazione? –

+0

Non ne parla esplicitamente, ma suppongo che potresti arrivare a quella conclusione in questo modo: quando si abbinano i file, viene catturato anche il percorso dalla directory di base che porta a quel file. Conoscendo questo, guarda la descrizione dell'attributo "flatten" nell'attività di copia.Il comportamento descritto quando flatten = true implica che i percorsi saranno preservati quando è falso. –

3

Dal manuale Ant sul compito:

Copie una raccolta di file o risorse in un nuovo file o directory. Per impostazione predefinita, i file vengono copiati solo se il file di origine è più recente del file di destinazione o quando il file di destinazione non esiste. Tuttavia, è possibile sovrascrivere esplicitamente i file con l'attributo overwrite.

+0

ok, in modo che risponde alle mie dipendenze controllo per la metà. E la sintassi? Non riesco a capirlo, mi dispiace, sono piuttosto denso. :( –

Problemi correlati