Code Stack

Javaアプリケーションのビルド

更新日 2025年3月15日

ビルドとは


ビルドとは、ソースコードを実行可能な
アプリケーションに変換する一連の作業のことです。
Javaであれば、.javaファイルをコンパイルして、.classファイルを生成する、
生成した.classファイルをjar、warなどのアーカイブファイルにまとめる作業を指します。



コンパイルって?

コンパイルとはソースコードを機械語に変換する作業のことです。
コンパイルにはソースコードの構文解析、最適化、コード生成などの工程があります。
構文解析ではJava文法に従ってソースコードを解析し、
文法に誤りがあるとコンパイル失敗となります。
この失敗のことを「コンパイルエラー」といいます。

Javaのように静的型付けといわれる言語では、
コンパイルを行うことで、ソースコードを事前に検証することができます。
コンパイルが通ることで最低限、構文エラーがないことが保証されます。



ビルドツール

実行可能なアプリケーションの作成を手動で行うことは大変労力が必要になります。
warファイルを作成するためには大まかに

  1. javaファイルをコンパイルして.classファイルを生成
  2. classファイルをwarファイルにまとめる
  3. リソースファイルをwarファイルに含める
  4. 外部ライブラリをwarファイルに含める

などの作業が必要になります。


アプリケーションの規模が大きく、ファイル数が増えるほど大変な作業のとなりますし、
外部ライブラリに関しては、ライブラリが依存しているライブラリも取得する必要があり
すべて人力で行うのは非現実的な作業となります。

そのため、ビルドツールを使ってビルドを自動化することが一般的です。
Javaのビルドツールには、

  • Ant
  • Maven
  • Gradle
  • などがあります。


    これらのビルドツールを使うことで、
    ビルドの自動化や依存関係の解決などを行うことができます。
    Javaのビルドツールとして現状はMaven、Gradleが主流となっています。
    新規プロジェクトの場合はGradleを使うことが多いですが、
    Mavenの仕組みの上に構築されている部分もあるため、
    Maven・Gradleについての知識は必要です。

    Antは古いビルドツールであり、Maven・Gradleが便利なため、
    現在ではあまり使われていません。