2010-03-19 14 views
5

Próbuję skopiować katalog przy użyciu zadania Ant copy.Jak użyć Ant do skopiowania folderu?

Jestem nowicjuszem w firmie Ant; moje obecne rozwiązanie to:

<copy todir="${release_dir}/lib"> 
    <fileset dir="${libpath}" /> 
</copy> 

Zastanawiam się, czy istnieje lepszy i krótszy sposób na osiągnięcie tego samego?

+0

Myślę, że brakuje Ci obecnego rozwiązania. – leedm777

+1

Musisz wstawić kod, aby uwzględnić w swoich wpisach XML. – SimonC

Odpowiedz

14

Przede wszystkim są to przykłady z dokumentacji Ant:

Kopiowanie katalogu do drugiego

<copy todir="../new/dir"> 
    <fileset dir="src_dir"/> 
</copy> 

kopiowania zestawu plików do katalogu

<copy todir="../dest/dir"> 
    <fileset dir="src_dir"> 
    <exclude name="**/*.java"/> 
    </fileset> 
</copy> 

<copy todir="../dest/dir"> 
    <fileset dir="src_dir" excludes="**/*.java"/> 
</copy> 

skopiować zestaw plików do katalogu, dodanie bak do nazwy pliku w locie

<copy todir="../backup/dir"> 
    <fileset dir="src_dir"/> 
    <globmapper from="*" to="*.bak"/> 
</copy> 

Po drugie, tutaj znajduje się cały opis zadania kopiowania documentation.

1

to zrobi:

<copy todir="directory/to/copy/to"> 
    <fileset dir="directory/to/copy/from"/> 
</copy> 

Mrówka instrukcja jest twoim przyjacielem: Ant Manual, w tym przypadku: Copy Task

4

Tylko dlatego docs nie były bardzo jasne dla mnie, a ponieważ czas spędziłem może służyć innym:

docs powiedzieć, że to „kopie katalogu (dir1) do innego katalogu (dest)”:

<copy todir="../new/dest"> 
    <fileset dir="src/dir1"/> 
</copy> 

Właściwie to robi nie znaczy "kopię dir1 wewnątrz dest", ale raczej "skopiować zawartość dir1 wewnątrz dest ".

(W ogóle, w Ant, The "reż root" z filesets -as dobrze w todir attribute- nie jest uważany za część samego zestawu.)

Aby umieścić katalog dir1 wewnątrz dest jeden ma kilka alternatyw (brak całkowicie satysfakcjonujące dla mnie - a ja wyobrażałem sobie, że nowa DirSet pomogłoby tutaj, ale nie)

<copy todir="../new/dest/dir1"> 
    <fileset dir="src/dir1"/> 
</copy> 

lub

<copy todir="../new/dest"> 
    <fileset dir="src" includes="dir1/**"/> 
</copy> 

Zobacz także here i here.

Powiązane problemy