Maven 入門 | Maven 準備 | JDK とビルドツール
Java 開発は JDK というツールで行う。これは Java の入門書などで最初に書かれていることだろう。JDK には Java ランタイムとコンパイラが含まれており、それを使って開発するという説明は確かに正しい。しかし、JDK だけで本当に十分なのだろうか。実際には、さらに必要なものがある。
最近、Java 開発で「JDK だけでプログラムをコンパイルして開発している」という人はほとんどいないだろう。現在のプログラムは非常に複雑な構成になっている。複数のソースコードファイル、各種リソース、具体的な情報を記述した設定ファイル、XML によるデータ、多くのフレームワークやライブラリ。これらをきれいに整理して JDK でコンパイルしている人が、果たしてどれほどいるだろうか。
プログラムに必要なファイルが増えるにつれ、JDK だけではなく本格的な開発ツールを利用する人が増えている。Java 開発者の中には「Eclipse でしか開発したことがない」という人も多いだろう。そのような開発者にコマンドで開発するよう求めても、多くの人は分からないはずである。
Eclipse のような開発ツールは便利だが、「その開発ツールで作成したプロジェクトしか使えない」という問題も抱えている。開発環境が別の開発ツールに変更されたものの、プロジェクトを移行できないこともある。プロジェクトを送ってもらったら、見たこともない開発ツールのものだったため使えない、ということもあり得る。
開発ツールの違いに影響を受けるのは、それぞれのツールでプロジェクトが共通化されていないためである。このような状況で、最近特に注目されるようになったのが「ビルドツール」による開発である。
ビルドツールとは?
ビルドツールとは、プロジェクト作成、テストビルド、デプロイなどの基本的な作業を行うための専用プログラムである。正確に言えば「プロジェクト管理ツール」と呼ぶべきかもしれないが、一般的には「ビルドツール」という表現が広く使われている。
ビルドツールはコマンドを使ってプロジェクト作成やビルド作業などを行う。コマンドでさまざまな作業ができるため、各種開発ツールの中で利用することも比較的簡単である。そのため、最近の開発ツールではビルドツールをサポートし、内部でビルドツールを使ってプロジェクト作成やビルドができるものも増えている。
実際のプロジェクト作成やビルドはビルドツールが実行しているため、同じビルドツールをサポートする別のツールへプロジェクトを移行しやすい。また、ビルドツールで生成されたプロジェクトはほぼ同じファイル構成になるため、開発ルールなどが異なっていても、ほぼ同じように開発できる。
さらに、ビルドツールはビルド内容を記述したファイル、つまりビルドファイルを読み込んで処理するため、ビルドファイルの内容を理解すれば、プロジェクトを細かく管理できる。
プロジェクトの複雑化に伴い、ビルドツールの重要性は高まっている。