JAR,WAR,EARそれぞれの違いについて

JAR, WAR, EAR はいずれもJava仕様に準拠して定義されたZIP形式のパッケージ(複数のファイルをまとめたアーカイブ) いずれもJavaで実装したプログラムを実行・配布しやすくするための形式である。

JAR

Java プログラムの実行に必要なクラスファイルや設定ファイルがまとめられているアーカイブJavaで作成したソフトウェアを配布する際に関連するファイルを1つにパッケージングする際に利用され、実際に多くのクラスライブラリはこの形式で配布されている。

WAR

Java 製のWebアプリで利用されるクラスファイル(servlet)、設定ファイル、JSPやHTMLファイル、JAR形式のライブラリなどがまとめられているアーカイブ。 また、web.xmlが含まれ、TomcatなどのアプリケーションサーバにWARファイルを配布すると、これを元にデプロイされる。

これはMVCモデルでいえば、MVCすべてまとめてひとつにした感じだと思う。

EAR

Java EEアプリーケーションのパッケージ形式。 任意の数のWARファイルやEJBファイル、またこれらのアプリケーションで必要とするJARファイルを含めることができる。

ファイルの大きさは、

EAR > WAR > JAR

となる。

参考

あるシステム屋による開発の記録 JAR, WAR, EAR の違いについて