Ant の基礎の基礎 (2)

前回からちょっと進んで、環境のセットアップ/クリーンアップを含めた build.xml を作ってみましょう。


タスクの属性/ Target の依存関係

まず、前回定義した "compile" という Target ですが、今回は javac タスクの destdir 属性を使用して、コンパイルした結果のクラスを build/classes ディレクトリに置くようにしています。
また、その build/classes ディレクトリが存在していないと困るので、"init" という Target で先に作成するようにしています。
そのため、最初の <target name="compile" のところで depends="init" と、"init" という Target が先に行われているように、という指定を行っています。
Ant は、この depends を参照して、Target の実行結果、前後関係を解決してくれます。

<target name="compile" depends="init">
 <javac srcdir="."
   destdir="build/classes"
 />
 <echo>compile complete!</echo>
</target>

では、その "init" Target を見てみましょう。

mkdir タスク

mkdir タスクで、ディレクトリを作成しています。
もともとそのディレクトリがあれば、何もしませんし、mkdir dir="build/classes" と指定してあれば build ディレクトリが存在していない場合でも build ディレクトリまで含めて作成してくれる仕様になっています。

<target name="init">
 <mkdir dir="build/classes"/>
 <mkdir dir="dist"/>
 <echo>init complete!</echo>
</target>

jar タスク / delete タスク

他には、Jar ファイルを作成する "archive"、"init" とちょうど逆に環境のクリーンアップを行うための "clean" などの Target を定義しています。

<target name="archive" depends="compile">
 <jar destfile="dist/project.jar"
  basedir="build/classes"
 />
 <echo>archive complete!</echo>
</target>
<target name="clean" depends="init">
 <delete dir="build/classes"/>
 <delete dir="dist"/>
 <echo>delete complete!</echo>
</target>

全文はこんなかんじになっています。

<?xml version="1.0"?>
<project name="structuredbuild" default="compile">

<target name="init">
<mkdir dir="build/classes"/>
<mkdir dir="dist"/>
<echo>init complete!</echo>
</target>

<target name="compile" depends="init">
<javac srcdir="."
destdir="build/classes"
/>
<echo>compile complete!</echo>
</target>

<target name="archive" depends="compile">
<jar destfile="dist/project.jar"
basedir="build/classes"
/>
<echo>archive complete!</echo>
</target>

<target name="clean" depends="init">
<delete dir="build/classes"/>
<delete dir="dist"/>
<echo>delete complete!</echo>
</target>

</project>

実行結果の確認

前回と同じようにデフォルトは "compile" なので、ant と実行すると以下のようになります。
(ant compile と実行しても同じ結果になります)

ちゃんと build/classes ディレクトリが作成されて、その中にコンパイルされたクラスが置かれています。

環境をリセットするために "clean" を実行してみましょう。
ant clean と実行してみます。

以下のようにディレクトリが削除されているのが確認できます。

[Top Pageに戻る]

[PR] | 貴金属 買取ハウスクリーニング韓国食材インプラント転職サイトSEOアクセス解析ハウスメーカーレンタルオフィスSEO対策消費者金融不動産担保ローン時計車 買取ハワイ挙式アスクル転職生命保険テンプレート沖縄旅行動画免許合宿二輪引越し消費者金融税理士ゴルフ会員権留学レーシックマッサージFX投資信託くりっく365アフィリエイト育毛剤FXホームページ制作デイトレードFXタイバンコクハワイ レンタカーベスト ハワイ ホテル レーツバリ島年末年始ハワイHawaii hotelsHawaii Activitiesbhhrホノルルマラソン
【運営会社「パラダイムシフト」サービス】 ハワイ現地オプショナルツアーリラックマ) - ビジネスクラス航空券 - 格安航空券(1) - 格安航空券(2) - 海外ホテル - 韓国旅行
無料ホームページ作成 - レンタルサーバー - 携帯ホームページ - ブログ - ホテル 予約 - タイムシェア - ヴィラ - ハワイ コンドミニアム - バリ島 ホテル - ハワイ 不動産 - プーケット ホテル