スポンサーリンク

Gradle

Ant build.xml超入門

投稿日:2021年3月17日 更新日:

build.xmlが苦手、という人は意外と多いと思います。私もつい最近まで避けていました。しかし、勉強してみると、超簡単なことが分かりました。

このページでは、実案件のbuild.xmlが読めるようになることを目指します。

Antとは何か?

AntはJava向けのビルドツールです。ビルドとは、.javaファイル群をまとめて実行可能な.jarや.warを作ることです。

AntはApacheソフトウェア財団によって管理・メンテナンスが続けられています。

2021年でも、Antでビルドを行なっているプロジェクト、ソフトウェアはたくさんあります。

2000年代にスクラッチで開発されて、メンテナンスし続けているパッケージソフトウェアではビルドツールにAntが使用されている事が多いです。その頃のパッケージをカスタマイズして納品するような場合、2021年でもAntをお目にすることがあります。

AntとMaven、Gradleの違いは?

Ant<Maven<Gradleの順にできることが増えていきます。

ツール名特徴
Antビルドツール。
build.xmlにビルド手順を記述する。
Mavenプロジェクト管理ツール。
pom.xmlに依存ライブラリーやビルド手順を記述する。
Gradleプロジェクト管理ツール。
build.gradleに依存ライブラリーやビルド手順を記述する。
Ant、Maven、Gradleの違い

Antのインストール

IDEを使わない場合

Antのzipをダウンロードして、ディレクトリごと任意の場所に配置します。

環境変数を2つ指定します。

環境変数名指定する値
Pathantのjarファイルがあるディレクトリ(bin)を追記する。
antをコマンドを実行するために必要。
ANT_HOMEant一式ディレクトリを指定する。
他のアプリからantを実行する場合にこの変数が参照される。
Antのインストール時に指定する環境変数

IDE(inteliJ IDEA等)を使う場合

intelliJ IDEAやEclipseには既にAntが組み込まれているため、インストールは不要です。

プロジェクトルート直下にbuild.xmlを作成して、右クリックでタスクを実行することができます。

Antの実行

build.xmlの書き方を見る前に、実行方法を押さえておきます。

ポイントは、ant target名で記述します。

target名を省略すると、project要素のdefault属性で指定されているtargetが実行されます。

default属性が記述されていないと、antは何も実行しません。

Antのbuild.xmlの書き方

Antのbuild.xmlの全体像

build.xmlの各要素を見る前、下のXMLを見て下さい。基本的な構成はこうなっています。

<project name="プロジェクト名" default="デフォルトターゲット名">
  <property name="キー" value="値">
  <target name="ターゲット名1">
    ... some tasks
  </target>
  ・・・
  <target name="ターゲット名n">
    ... some tasks
  </target>
</project>

それぞれの要素は次のようになっています。

要素意味・属性
<project>build.xmlのルート要素。プロジェクトの名前と、ant実行時のデフォルトターゲットを記述する。<project name="sample-project" default="target1">
<property>build.xml内の変数宣言。定義した値は ${キー}の形で使える。<property name="property1" value="value1">
<target>Antタスクを宣言する。定義したタスクはコマンドにおいて、 ant ターゲット名
で実行できる。
<target name="target1" depend="target2,target3">
build.xmlの基本要素

Antのtarget要素で利用できる組み込みタスク

Antは何らかのタスク、特にJavaプロジェクトのビルドを実行することが目的です。そのため、<target>要素でどんなタスクをさせるかということが肝になります。

Antには、<target>要素で利用できる組み込みタスクがあり、それらを組み合わせてビルド手順を定義していきます。

要素意味・属性
<echo>標準出力に何らかの文字列を出力します。
<property>要素で宣言した変数は${キー}の形で参照できます。
<echo message="${property1}のビルドを開始します。">
<mkdir>ディレクトリを作成する。
<copy>ファイルをコピーする。
<delete>ディレクトリまたはファイルを削除する。
<zip>ディレクトリ配下のファイルをZIP圧縮する。
<javac>javacコマンドを実行、つまりコンパイルして.classファイル群を作成する。
<java>javaコマンドを実行する。
build.xmlの基本要素

Antのpropertyやtargetで利用できる組み込みプロパティ

その他

Antターゲットの依存関係

Antの素晴らしい点は、タスクの依存関係を定義できることです。タスクが重複している場合は、自動解決、つまり重複しているタスクを省いて実行してくれます。

Udemyのハンズオン動画講座でSpringBootのスキルを磨く!

スポンサーリンク

-Gradle

Copyright© 【Spring Hack】 , 2022 All Rights Reserved Powered by AFFINGER5.