JavaのWARファイルについて現役エンジニアが解説【初心者向け】

初心者向けにWARファイルについて解説しています。これはJavaアプリケーションのパッケージ形式のひとつです。JARファイルやEARファイルとの違い、WARファイルの作成方法について学びましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

JavaのWARファイルについて解説します。

なお本記事は、TechAcademyのJava講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

WARファイルについて詳しく説明していくね!

大石ゆかり

お願いします!

 

Javaアプリケーションのファイル形式

Javaアプリケーションのデプロイに際して、全てのファイルはJAR形式、WAR形式、EAR形式といったファイル形式に統合されます。

ウェブアプリケーションはWAR形式、スタンドアロンのJAVAアプリケーションやそれに付随するライブラリについてはJAR形式、これらを含むエンタープライズ向けアプリケーションについてはEAR形式がとられます。

JAR形式、WAR形式、EAR形式ではそれぞれ含有するファイルの内容が異なります。

WARファイル

WARファイルは、JavaベースのWebアプリケーションやコンポーネントを圧縮した形式で、Webサーバ上で動作するものです。

WARファイルに含まれるものは、

  • データベース接続や各サービスを行うサーバーサイドのクラス
  • HTMLやイメージファイル、音声ファイル
  • クライアントクラス

等です。これらはApacheのTomcatのようなWebアプリケーションを導入したWebサーバ上で動作させることができます。

WARファイルはアーカイブされた形式のファイルの為、WARファイルに含まれる資源はStuffit Expander等の解凍ソフトを用いて抽出することができます。

WAR形式のフォーマットの方法は下記で紹介するJAR形式と同じですが、Javaのサーブレットクラスをアプリケーションサーバ上で実行するための追加情報が含まれています。

 

JARファイル(JAR形式)とは

JARファイルは、複数のJavaクラスや、それに関連するメタデータファイル、テキストやイメージファイル、音声ファイルをひとつのファイルに統合した形式です。

ひとつのファイルに統合することで、Java環境で実行するソフトウェアや資源の配布を容易にすることができます。統合されている資源は解凍ソフトを用いて抽出することができます。

 

EARファイル(EAR形式)とは

EAR形式ファイルはJ2EEサーバー上にアプリケーションをデプロイするのに適した形式です。J2EEサーバーはエンタープライズシステム向けのJavaプラットフォームのことです。

EARファイルはJARファイルやWARファイルに加え、それらの構成を示す為のファイルであるapplication.xmlを格納します。

 

WARファイルの作成方法

WARファイルはjavacコマンドでプログラムのコンパイルを実施した後、アプリケーションを開発しているルートディレクトリで

jar cvf ../[warファイル名] *

を実行することで作成できます。

Eclipseで開発をしている場合はプロジェクトを右クリックし、「エクスポート」をクリックします。「Web」>「WARファイル」を選択し出力場所を指定することでWARファイルが作成できます。

 

[PR] Javaで挫折しない学習方法を動画で公開中

監修してくれたメンター

長屋雅美

独立系SIerで7年勤務後、現在はフリーのエンジニアとして自宅をオフィスとして活動しています。
JavaやC♯、shellscriptを用いた開発を主に担当し、TechAcademyではJavaコースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

オンラインのプログラミングスクールTechAcademyでは、Java講座を開催しています。

JavaやServletの技術を使ってWebアプリケーションの開発を学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。