Java:Ant
技術ドキュメント目次 -> Java -> Ant本技術ドキュメントは、2002~2004年頃に作成したものが多いです。
内容が古くなっていることもあるかと思いますが、ご了承ください。
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。
◆ はじめに
ant は Apache の Jakartaプロジェクトから提供されている、Java向けの 強力なbuildツールです。
簡単に言ってしまえば、Java向けの makeコマンドのようなもので、
プログラムを更新後、antコマンドを実行することで、
各配布用のファイルを作成することができます。
ant の設定は、build.xml というXMLファイルを使用する決まりになっています。
build.xml の中では、いろいろな制御を行うことが可能で、
たとえば、
jarファイルを作成するのはもちろんのこと、tarのファイルを作成したり、
外部コマンドを実行するように指定るすることも可能です。
(別にそのようにしなくてもいいのですが)慣例的に、
$ ant
と引数無しに ant を実行すると、パッケージの作成を行い、
$ ant clean
と clean という引数をつけて ant を実行すると、作成した各ファイルを削除します。
(引数のイメージが make コマンドに似ています。)
ここでは、
ant のインストール方法と、
ant を使用するユーザーの環境設定についてと、
ant の設定ファイルである build.xml のサンプルについて解説します。
◆ インストール
ダウンロードして、解答・コピーするだけなので簡単です。
(v1.4.1 の場合) # cd /usr/local/src # wget http://jakarta.apache.org/builds/jakarta-ant/release/v1.4.1/bin/jakarta-ant-1.4.1-optional.jar # wget http://jakarta.apache.org/builds/jakarta-ant/release/v1.4.1/bin/jakarta-ant-1.4.1-bin.tar.gz # tar zxvf jakarta-ant-1.4.1-bin.tar.gz # mv jakarta-ant-1.4.1 /usr/local/ # cp -p ./jakarta-ant-1.4.1-optional.jar /usr/local/jakarta-ant-1.4.1/lib/ |
◆ セットアップ&動作確認
ant を実行するユーザーのshell で次の2つの環境変数をセットすると antが使用できるようになります。
(bashの場合) export ANT_HOME=/usr/local/jakarta-ant-1.4.1 export PATH=$ANT_HOME/bin:$PATH |
ant を実行してみて、
次のように表示されれば、ant が使える状態になっています。
(ant を実行することができたが、build.xmlという設定ファイルが
カレントディレクトリに存在しないので、処理を行うことができません、
といった意味のメッセージです。)
$ ant Buildfile: build.xml does not exist! Build failed $ |
◆ build.xml
ant が使用する設定ファイルである build.xml について、下のサンプルをもとに簡単な解説をします。
あるプロジェクトにおいて、
作業ディレクトリの ./src というサブディレクトリのなかに
ソースファイルを設置して作業しているとします。
また、各種設定ファイルを src/conf/* として設置していて、
各種実行形式のファイル(例えば、javaをキックしてアプリケーション
を起動するためのshellスクリプトなど)を src/bin/* として設置
していると思います。
つまり、例えば、
次のようなパッケージ・ディレクトリの構成になっているイメージです。
src/com/testProject/engine/*.java src/com/testProject/data/*.java src/com/testProject/util/*.java src/bin/*.sh src/conf/*.conf |
そこで、
以下のような build.xml というファイルを、作業ディレクトリ内に
srcディレクトリと並列の階層に作成します。
その後、
build.xml がカレントディレクトリにある状態で、
ant と入力すると、次のような作業が自動的に行われます。
作業の流れと build.xml の書式を比べてみていただけると、
どのようなことが行われているかイメージしやすいかと思います。
1、
各ソースファイルがコンパイルされ、build/* として、
各classファイルが作成される。
2、
dist ディレクトリと dist/lib ディレクトリを作成する。
3、
コンパイルによって作成された各classファイルをもとに
dist/lib/MyProject.jar を作成する。
4、
dist/bin ディレクトリを作成し、src/bin/* をコピーする
5、
dist/conf ディレクトリを作成し、src/conf/* をコピーする
なお、
$ ant clean
と入力すると、bin ディレクトリと dest ディレクトリが削除されます。
<project name="MyProject" default="dist" basedir="."> <property name="src" value="src"/> <property name="lib" value="lib"/> <property name="build" value="build"/> <property name="dist" value="dist"/> <target name="compile"> <mkdir dir="${build}"/> <javac srcdir="${src}" destdir="${build}" debug="yes" /> </target> <target name="dist" depends="compile"> <mkdir dir="${dist}/lib"/> <jar jarfile="${dist}/lib/MyProject.jar" basedir="${build}"/> <mkdir dir="${dist}/bin"/> <copy todir="${dist}/bin"> <fileset dir="${src}/bin" /> </copy> <mkdir dir="${dist}/conf"/> <copy todir="${dist}/conf"> <fileset dir="${src}/conf" /> </copy> </target> <target name="clean"> <delete dir="${build}" /> <delete dir="${dist}" /> </target> </project> |
■ Java についての他のドキュメント
■ 他のグループのドキュメント
Apache / Linux / FreeBSD / OpenSSL / Perl / HTTPプロトコル / Jakarta Tomcat / Java / NetBSD / Oracle / PostgreSQL / UNIX の C言語 / UNIX のコマンド / Windows / bind / システム運用TIPS