0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

第1章 Apache Antとは?

Antとは一体何をするツールなのか。
どういった特徴があり、どんなメリット、デメリットがあるのか。
ビルドツールの歴史におけるAntの位置付けとは。
といった、Antの概要について触れていきたいと思います。

概要

Antとは、Javaをベースに作られたビルドツールで、Jakartaプロジェクトの一部です。

一般的に、ソフトウェアはソースファイルのコンパイルやリソースの配置、設定ファイルの記述
など、さまざまな処理を経てプロダクト(最終成果物)となります。
これらの処理を適切な順序で進めなければ、動作する成果物が構築されないことは多いです。

これらのビルド作業は、プロダクトの規模が小さいうちは手順も少なく、単純なため手作業で
行ってもそこまでの負担は生まれませんが、規模が大きく、手順が煩雑になるにつれ、
手作業によるビルドには時間もかかり、ヒューマンエラーが発生しやすくなっていきます。
それらの問題を解決するため、ファイル間の依存関係の解決やファイルの配置などを自動的に
行ってビルド作業の時間を短縮化し、人の手を介入させないことでヒューマンエラーを無くそう
という考えのもと発達しているのがビルドツールです。

ビルドツールの歴史

ビルドツールの起源とも言えるツールに、Makeというものがあります。
Makeはunix上で広く用いられており、シェルコマンドが使えるので柔軟なビルドが可能です。
その反面、シェルコマンドを使うので環境の依存性が高く、コマンドを知らない人には文法が
わかりにくかったりと、いくつかの欠点もありました。

Antはmakeの欠点を補う形で派生しているので、以下の仕様により各問題点を解決しています。
AntはJavaで記述されており、Javaの”Write once, Run anywhere.”
の考えに基づいて、Javaが動作する環境であれば利用することができます。
また、ビルドの際に実行するコマンド(Antではタスクといいます)もXML形式で記述するため、
プラットフォームに依存しない形で記述することができます。

そんなAntにも、欠点があります。それは、ビルドスクリプトが長くなりやすく、
JARファイルなどの依存ファイル間の依存関係の解決が自動化されていないことです。
こういった点を解決するために、MavenやGradleといった後続のビルドツールが発展しました。
これらのビルドツールの特徴については、各種専門書籍などを参照してください。

まとめ

Antとは何か

Javaで書かれたビルドツール。
そのため、プラットフォームに依存しない利用が可能。
ビルドスクリプトの記述が一般的に広く利用されているXML形式のため、
Antのためだけの文法を覚える必要がない。

メリット

  • プラットフォームに依存しない利用が可能であること
  • ビルドスクリプトがプラットフォームに依存しないこと

デメリット

  • ビルドスクリプトが冗長化しやすい
  • ライブラリの依存関係を手動で解決しなければならない

メインページへ戻る

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?