2016-09-07 2 views
1

Ich verwende die folgende Aufgabe eine bestimmte Datei von einer URL zu erhalten und installieren Sie es auf meinem lokal DIR:Erhalten Sie alle Dateien, die beginnt mit einem bestimmten Wort von einer URL ANT mit

<project name="MobileBanking" basedir="../"> 
    <target name="get"> 
     <get src="https://domain/dsprdamf1/mf/node1/logs/server11_mf/trace.log" dest="Local/Logs" usetimestamp="true" username="${USERNAME}" password="${PASSWORD}"/> 
    </target> 
</project> 

jedoch Das Problem ist, dass ich mehrere Dateien habe, die mit dem Wort "trace" beginnen, und ich muss sie alle in mein lokales Verzeichnis holen.

Ich habe versucht, die folgenden:

<get src="https://domain/dsprdamf1/mf/node1/logs/server11_mf/trace*" dest="Local/Logs" usetimestamp="true" username="${USERNAME}" password="${PASSWORD}"/> 

und

<get src="https://domain/dsprdamf1/mf/node1/logs/server11_mf/*" dest="Local/Logs" usetimestamp="true" username="${USERNAME}" password="${PASSWORD}"/> 

aber keiner arbeitete.

Was soll ich verwenden, um alle Dateien, die mit dem Wort "trace" beginnen, von einer URL zu bekommen?

Antwort

1

Ich glaube nicht, dass dies mit URLs möglich ist. Die get Task ruft eine Datei von beliebige URL ab. Um Muster-basierte Formulare einer URL-Eingabe wie basePath/trace*.html zu unterstützen, sollte die Aufgabe die URL basePath abfragen und den HTML-Inhalt der Seite analysieren, um die Liste der HTML-Seiten in diesem Pfad zu ermitteln, was mühsam ist (wenn möglich in erster Linie, siehe How to get list of files/directories of an directory url in java?). Versuchen Sie, den Inhalt der Basis-URL abzurufen, analysieren Sie das Ergebnis und sehen Sie, ob Sie die Liste aller trace* Dateien dort finden können (dies mag eine Lösung sein, aber es ist sehr hässlich).

Sie können wie die ftp oder scp Aufgaben an Alternativen suchen, die fileset Ressourcen mit include und exclude Wildcards verschachtelt unterstützen. Im Gegensatz zur get Aufgabe funktioniert ftp basierend auf dem FTP-Protokoll, das das Abrufen einer Liste von Dateien in einem Remote-Verzeichnis ermöglicht. Dazu müssen jedoch Dienste wie der FTP-Server oder der SSH-Daemon verfügbar sein.

+0

Vielen Dank für Ihre Antwort, ich denke, Sie haben Recht. Ich muss einen anderen Weg finden, alle verschachtelten Dateien außer "get" zu bekommen. Wird ftp oder scp überprüfen. –

Verwandte Themen