Ant
編集者:Terai Atsuhiro
作成日:2003-09-25
更新日:2009-11-03 (Tue) 23:56:04
概要(Antとは)
Antは、Javaベースのビルドツールです。理論的には、makeの欠点がないmakeの一種です(Ant翻訳より引用)。
このページでは、JavaベースのビルドツールであるAntの使い方についてメモしています。
build.xml、タスクなどのサンプル
build.xml、タスクなどのサンプルや、その他のちょっとしたTipsなどを、以下別ページにまとめています。
AntのConditionタスクで条件分岐
Conditionタスクを使って、例えばディレクトリの有無などによる条件で、Targetタスクを実行するかどうかを振り分けます。
AntのJarタスクで実行可能なJarファイルの作成
Antを使って、Windows環境などでダブルクリックすると起動するJarファイルを作成します。
AntのTaskを自作
AntのTaskを自作し、これを利用する方法をテストします。
AntでOutOfMemoryErrorが発生する場合
Antを実行するとOutOfMemoryErrorが発生する場合の処置方法について解説しています。
AntのプロパティファイルをXMLにする
プロパティファイルのエンコーディングなどを気にせずに使えるように、AntのプロパティファイルをXMLにしてみます。
Antで子フォルダのbuild.xmlを全部実行
Subantタスクを使って、一度に全部同じターゲットで子フォルダのbuild.xmlを実行します。
インストールと環境変数の設定
Apache Ant - Welcomeなどからダウンロードしたアーカイブを展開して、そこを環境変数"ANT_HOME"に設定します。「システムのプロパティ→詳細設定→環境変数」で、"ANT_HOME"を新規作成、もしくは編集してください。
また、%ANT_HOME%\bin\ant.batを使うために、パスを通しておきます。「システムのプロパティ→詳細設定→環境変数」で、"Path"を編集してください。
buildfileオプション
build.xmlファイルを作ってコマンドプロンプトからant.batを実行します。引数が無い場合、カレントフォルダにあるbuild.xmlが使用されます。
ant
任意のbuild.xmlを使いたいときは、以下のようなオプションを使って指定します。
ant -buildfile "c:\hoge project\hoge_build.xml" ant -f "c:\hoge project\hoge_build.xml"
xyzzyなどから、ant.batをサブプロセス(C-x &)として実行する場合は、-emacsオプションをつけてやります。このオプションをつけると、xyzzyのバッファに表示されたエラー上で"F10"キー*1を押すだけで、そのエラーの出たファイルの該当する行に、自動的にジャンプすることができます。
ant -emacs -buildfile "c:\hoge\build.xml" ant -e -f "c:\hoge\build.xml"
build.xmlの勉強方法
ネットを検索すれば、いろんなbuild.xmlが見つかるので、まずはその中からサンプルを選び、マニュアル(日本語訳)を見ながら修正すると、手っ取り早く作成することができます。
- build.xmlとbuild.propertiesのサンプル
- http://terai.xrea.jp/data/ant/build.zip
- このbuild.zipファイルには、ソースコードのほかに、build.xmlとbuild.propertiesを添付しています。build.propertiesは、環境依存しそうな記述をbuild.xmlから抜き出したプロパティファイルです。JDOMなどから拾ってきた記述を追加、編集したりして作成しています。実際に使用する場合は、build.propertiesファイルを環境に合わせて編集してください。そのまま使用する場合は、build.xmlを展開し、src\javaフォルダ以下にソースコード(Shift_JIS)を置いてください。
- Java Swing Tips以下のサンプル
- http://terai.xrea.jp/swing/toolbarlayout/src.zip
- このサイトのJava Swing Tipsのサンプルに添付されているbuild.xmlはすべて同一です。こちらは、「build.xmlとbuild.propertiesのサンプル」とは違い、ソースコードはUTF-8で、build.propertiesではなく、xmlファイル(properties.xml)をプロパティファイルとして使用しています。

