2010-03-19 14 views
5

Ich versuche, ein Verzeichnis mit der Aufgabe Ant copy zu kopieren.Wie verwende ich Ant, um einen Ordner zu kopieren?

Ich bin ein Neuling bei Ant; Meine aktuelle Lösung ist:

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

Ich frage mich, ob es eine bessere und kürzere Möglichkeit gibt, die gleiche Sache zu erreichen?

+0

Ich denke, dass Sie Ihre aktuelle Lösung vermissen. – leedm777

+1

Sie müssen den Code einrücken, um XML in Ihre Posts einzufügen. – SimonC

Antwort

14

Zunächst einmal, das sind die Beispiele aus der Ant-Dokumentation:

Kopieren ein Verzeichnis in ein anderes Verzeichnis

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

Kopieren einer Reihe von Dateien in einem Verzeichnis

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

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

Kopieren einer Reihe von Dateien in einem Verzeichnis, das Anhängen bak an den Dateinamen im Fluge

Zweitens ist hier die ganze documentation über Kopieraufgabe.

1

Dies wird es tun:

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

Die Ameise Handbuch ist dein Freund: Ant Manual, in diesem Fall: Copy Task

4

Nur weil die docs mir nicht ganz klar waren, und weil die Zeit verbrachte ich andere dienen kann:

docs sagen, dass diese „kopiert ein Verzeichnis (dir1) in ein anderes Verzeichnis (DEST)“:

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

Eigentlich ist dies tut nicht bedeuten "Kopie dir1 innen dest", sondern "kopieren Sie den Inhalt von dir1 innerhalb dest ".

(im Allgemeinen in Ant wird die „root dir“ eines filesets -wie auch bei der todir Attribut- nicht als Teil des Satzes sich betrachtet.)

das Verzeichnis dir1 innen dest Um Platz man hat mehrere Alternativen (keine völlig befriedigend für mich - und ich habe gedacht, dass die neuen DirSet würde hier helfen, aber nicht)

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

oder

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

Siehe auch here und here.

Verwandte Themen