moveタスク

広告

ここではビルドの途中でファイルを移動する方法について見ていきます。「move」タスクを使います。

基本となるのは下記の属性です。

属性説明必須
file移動するファイル必須
tofile移動先となるファイルtofileかtodirのどちらかが必須
todir移動先のディレクトリtofileかtodirのどちらかが必須
overwrite移動先のファイルが新しくても既存のファイルを上書きします(デフォルトはtrue)×
preservelastmodified移動されたファイルに、オリジナルソースファイルと同じ最終更新時刻を設定します(デフォルトはfalse)×

基本的な使い方は「copy」タスクと似ています。

移動元のファイルを「file」属性で、移動先のファイルかディレクトリを「tofile」属性か「todir」属性で指定します。また、デフォルトでは、移動元ファイルが移動先ファイルよりも新しいか、 移動先ファイルが無い場合にのみ、ファイルが移動されます。

例えば下記のように記述します。

<move file="./class/test.class" todir="./to"/>

では実際に試してみましょう。今回の構成は下記のようになっています。

-sample9     build.xml
  |
  +--src     test.java
  |
  +--class   test.class
  |
  +--to

コンパイル後に「to」ディレクトリにクラスファイルを移動させてみます。

コンパイルするプログラムファイルは下記です。

test.java

public class test{
  public static void main(String args[]){
    System.out.println("Antの実験です");
  }
}

ビルドファイルは下記です。

build1.xml

<?xml version="1.0" encoding="Shift_JIS"?>

<project name="antsample" default="compile">

  <target name="compile">
    <javac srcdir="./src" destdir="./class" />
    <move file="./class/test.class" todir="./to" />
  </target>

</project>

ではantを実行してみます。

AntでのMoveタスク

コンパイル後にファイルが移動されているのが確認できます。

( Written by Tatsuo Ikura )