【わーふぁいる】

WARファイル とは?

公開:
💡 JavaのWebアプリをひとまとめにした荷物
📌 このページのポイント
Webアプリを、ひとまとめに shop.war HTML・画像など WEB-INF/classes/ クラスlib/ ライブラリ Webコンテナー 例:Tomcat 配備 対応するJava・APIのバージョンも確認
典型的な構成の一例。WARの中身はアプリによって異なります。配布元と内容を確認し、対応する実行環境へ配備します。
ひよこ ひよこ
Webアプリの説明に.warってあるよ。何を入れたファイル?
ペンギン先生 ペンギン先生
JavaのWebアプリをまとめた荷物だよ。プログラムのクラスや必要なライブラリ、HTMLや画像などを一緒に配布できる。WARはWeb Application Archiveの略なんだ。
ひよこ ひよこ
ZIPみたいに、ただファイルを詰めればよいの?
ペンギン先生 ペンギン先生
中身を束ねるだけでなく、Webアプリとしての配置に意味があるよ。例えばWEB-INF/classesはクラス、WEB-INF/libはライブラリ用。WARはJAR形式のアーカイブで、JARはZIP形式を土台にしているんだ。
ひよこ ひよこ
ダブルクリックすればWebサイトが動く?
ペンギン先生 ペンギン先生
通常はTomcatなどのWebコンテナーに配備して動かすよ。コンテナーはWebからの要求をアプリに渡す実行環境なんだ。必要なJavaやAPIのバージョンが合うかも確認しよう。WARならどの環境でもそのまま動く、とは限らないよ。
ひよこ ひよこ
ニュースでWARが攻撃に使われたと聞いた。危険な形式なの?
ペンギン先生 ペンギン先生
形式そのものが悪いわけではないよ。普通のWebアプリにも使う。ただし配備する中身はサーバーで動くことがあるので、出所不明のWARを配備するのは危険。信頼できる配布元か、管理画面の権限が適切かを確かめよう。
もっと詳しく知りたい人へ

web.xmlがないWARは、不完全なファイル?

必ずしもそうではありません。web.xmlは配備に関する設定を記述するファイルですが、アノテーションなどで設定するWebアプリでは省略できる場合があります。利用する仕様やアプリの構成に応じて判断します。

必ず.warに圧縮してから配備する?

いいえ。Tomcatなどでは、所定の構造を保った展開済みのディレクトリとして配備する方法もあります。具体的な配置先や配備手順は、実行環境の公式手順を確認します。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「WARファイル」って出てきたら「JavaのWebアプリを配備するためのひとまとめの荷物」と思えばだいたいOK!

参考資料

← 用語集にもどる