ant1.6.1のFTPタスク

感想おまちしてます!

FTPタスクを使う場合

http://www.jajakarta.org/ant/ant-1.6.1/docs/ja/manual/install.html#librarydependencies
で依存するJarをダウンロード。ウィンドウ>ant>ランタイムでアントホームに追加

FTPでは以下の2つが必要みたい

  • jakarta-oro-2.0.7.jar
  • commons-net.jar

http://www.jajakarta.org/ant/ant-1.6.1/docs/ja/manual/OptionalTasks/ftp.html

スポンサーリンク

ファイル送信

192.168.0.2の「/fujihara/WebContent」に「c:/temp/upload」以下のファイルをプット。

<ftp server="192.168.0.2"
remotedir="/fujihara//WebContent"
userid="fujihara"
password="password" >
<fileset dir="C:/temp/upload"/>
</ftp>

ファイルの取得

ファイルの削除

192.168.0.2の「/fujihara/WebContent」フォルダ以下のファイルを削除

<ftp action="del"
server="192.168.0.2"
userid="fujihara"
password="password"
remotedir="/fujihara/WebContent">
<fileset>
<include name="**"/>
</fileset>
</ftp>

ファイルの一覧取得

ディレクトリの作成

192.168.0.2に「/fujihara/WebContent」ディレクトリを作成

<ftp action="mkdir"
server="192.168.0.2"
userid="fujihara"
password="password"
remotedir="/fujihara/WebContent" />

ディレクトリの削除

192.168.0.2の「/fujihara」ディレクトリにある「/WebContent」ディレクトリとその
配下のディレクトリを削除

<ftp action="rmdir"
server="192.168.0.2"
userid="fujihara"
password="password"
remotedir="/fujihara" >
<fileset>
<include name="WebContent/**"/>
</fileset>
</ftp>

antのマニュアルの説明では↓の感じ。

 <ftp action="rmdir"
server="ftp.apache.org"
userid="anonymous"
password="me@myorg.com"
remotedir="/somedir" >
<fileset>
<include name="dira"/>
<include name="dirb/**"/>
</fileset>
</ftp>

動きとしてはftp.apache.orgにanonymousで入り、/somedir/diraディレクトリを削除しようする。そして、
/somedir/dirbディレクトリとそのディレクトリ以下の全ディレクトリも削除する。
/somedir/dirbを削除するとき、そのディレクトリ以下のディレクトリから削除をを開始する。さらに、ディレクトリを削除しようとするとき、す
でに削除された下位のディレクトリも削除しようとする。その時は必ず、ツリーないの全てのファイルが削除されてなければならない。

例えば、/somedir以下をすべて削除したい場合、まずdeleteアクションを呼び出す。それからrmdirアクションを呼び出す。両方ともremodedirには/somedirを指定する。そしてファイルセットには以下を指定する。

<fileset>
<include name="**"/>
</fileset>

remotedirに指定されたディレクトリは決して削除のために指定してはいけない。もし、remotedirのディレクトリを削除したいなら、その親のディレクトリを指定すること。そして、ファイルセットには

<fileset>
<include name="somedir/**"/>
</fileset>

を指定すること。