いずれもJava仕様に準拠して定義されたZIP形式のパッケージ(複数のファイルをまとめたアーカイブ)。
Javaで実装したプログラムを実行・配布しやすくするための形式。
ファイルの規模感としては、EAR > WAR > JAR
となる。
###JAR
Java プログラムの実行に必要なクラスファイルや設定ファイルがまとめられているアーカイブ。 Javaで作成したソフトウェアを配布する際に関連するファイルを1つにパッケージングする際に利用され、実際に多くのクラスライブラリはこの形式で配布されている。
###WAR
Java 製のWebアプリで利用されるクラスファイル(servlet)、設定ファイル、JSPやHTMLファイル、JAR形式のライブラリなどがまとめられているアーカイブ。 また、web.xmlが含まれ、TomcatなどのアプリケーションサーバにWARファイルを配布すると、これを元にデプロイされる。
MVCモデルでいえば、MVCすべてまとめてひとつにした感じだと思う。
###EAR
Java EEアプリーケーションのパッケージ形式。 任意の数のWARファイルやEJBファイル、またこれらのアプリケーションで必要とするJARファイルを含めることができる。