オーダーメイドコース
icon
icon

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

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

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

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

そもそもJavaについてよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。
 

なお本記事は、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] 未経験からWebエンジニアを目指す方法とは

監修してくれたメンター

長屋雅美

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

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

TechAcademyでは、初心者でもJavaやServletの技術を使ってWebアプリケーション開発を習得できるオンラインブートキャンプJava講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。