2011-05-03 64 views
1

有什麼辦法在Ant中使用mget,而不使用exec任務?Ant FTP和多文件get(mget)

這裏是破敗。我必須連接到不支持通過FTP獲取globbing的第三方服務器,服務器需要客戶端使用mget來執行glob。

這是我的任務:

<ftp server="host" userid="user" password="pass" action="get"> 
    <fileset dir="mydir"> 
     <include name="pdf/*_PDF.ZIP.pgp"/> 
    </fileset> 
</ftp> 

它不返回任何文件。當我直接登錄(Linux FTP命令行客戶端)時,我可以看到文件。 「get *」失敗,但「mget *」起作用。

任何想法如何讓Ant使用mget而不是get?

回答

0

Ant爲FTPTask使用commons-net.jar。

如果您不關心平臺獨立性,最簡單的方法是使用特定的可執行文件和exec任務。您可以檢查mget.exe以及項目,以便用戶不需要安裝它。

如果您需要平臺獨立性,您可能需要編寫自己的FTP任務。您可以複製Ant源代碼並進行必要的修改。如果你願意,你也可以選擇另一個FTP庫,但我認爲commons net應該具備必要的功能。

+0

經過更多的研究,唯一明顯的選擇是exec。我想避免這種情況(正如我在原始問題中所述),但我想我沒有更多的選擇。感謝您花時間發佈回覆。 – Chad 2011-05-04 16:11:44