Javaだけでも、ビルドツールは、Apache Mavenや、Gradle等数種類出てきてますよね。
まずは、昨今のビルドツールの役割について整理しておきましょう。
ビルドツールの基本的な役割
プログラムのビルド
これが最も基本的な役割です。プログラムをコンパイルし、指定のディレクトリに必要なリソース類を集めます。
時代の流れ
Javaは古くからある言語なのでビルド方法も年々進化を遂げてきています。
手動ビルド
昔は手動でビルドをしていました。手動でコマンドビルドして手動でフォルダにソースを適用させて手動で実行するなど。
ビルドスクリプト
手動ビルドの内容をコマンドファイルやシェルスクリプトにまとめて実行させる方式です。Apache Antなどがこれに当たるかと思います。ただ、Antやシェルスクリプトはタスク同士の依存関係やタスクの実行要否までは判断することができないです。
ビルドツール
パッケージやタスク間の依存関係を管理することができます。MavenやGradleなどが有名ですが、現代のJava開発ではGradleが一強になりつつあります。
プログラムのテストと実行
多くのビルドツールでは、プログラムのテストまで行ってくれたりします。
ビルド完了後に、そのままテストまで自動で行ってくれる類のものまであります。
ライブラリの管理
プログラムを必要とするライブラリを管理して、ビルドの際に、自動的にそれらをダウンロードしてインストールまで実施してくれます。
一つ一つのライブラリを自分でダウンロードして、手作業で組み込むといった作業から解放されます。
Gradleで言えば、Mavenのセントラルリポジトリからダウンロードしてきて、インストールコマンドを実行すればインストールしてくれます。
デプロイ作業
多くのビルドツールでは、ビルドしたプログラムをデプロイして、動作できるようにまでしてくれます。
ビルドと連動して、そのままテストに通ったらデプロイするという一連の自動化まで可能だったりします。
Eclipseとの連携
Javaの開発ツールといえば、Eclipseですが、Eclipseでは、標準でMavenというビルドツールが組み込まれています。(ただ、現状はMavenよりも高機能なGradle派のプロジェクトが多くなってきていると思うのでどちらかを選べるのであればGradleを勉強するようにしましょう。)
Apache Mavenについては、下記の記事で詳しく解説しています。
この記事へのコメントはありません。