.war ファイルと .ear ファイルの違いは何ですか?
ベストアンサー1
WAR (Webアーカイブ)は、ウェブコンテナのJava アプリケーション サーバーJava アプリケーション サーバーには 2 つのコンテナー (ランタイム環境) があります。1 つは Web コンテナーで、もう 1 つは EJB コンテナーです。
Webコンテナは、Web 要求処理専用に設計された JSP またはサーブレット API に基づく Web アプリケーションをホストするため、分散コンピューティングの要求/応答スタイルが多くなります。Web コンテナでは、Web モジュールをWAR ファイルとしてパッケージ化する必要があります。WAR ファイルとは、フォルダーweb.xml
内にファイルがある特別な JAR ファイルですWEB-INF
。
EJBコンテナは、宣言型トランザクション、宣言型メソッド レベルのセキュリティ、マルチプロトコル サポートなどの拡張ビジネス機能を提供するように設計された EJB API に基づいて、エンタープライズ Java Bean をホストします。つまり、RPC スタイルの分散コンピューティングです。EJB コンテナでは、EJB モジュールをJAR ファイルとしてパッケージ化する必要があります。これらのejb-jar.xml
ファイルはフォルダー内に存在しますMETA-INF
。
エンタープライズ アプリケーションは、Web モジュール (WAR ファイルとしてパッケージ化)、EJB モジュール (JAR ファイルとしてパッケージ化)、またはその両方の 1 つ以上のモジュールで構成されます。エンタープライズ アプリケーションは EAR ファイルとしてパッケージ化されます。EARファイルapplication.xml
は、フォルダー内にファイルを含む特別な JAR ファイルですMETA-INF
。
基本的に、EARファイルはWARファイルとJARファイルを含むスーパーセットです。JavaアプリケーションサーバーはWARファイル内のスタンドアロンWebモジュールの展開を許可しますが、内部的にはWARファイルのラッパーとしてEARファイルを作成します。トムキャットそして桟橋EAR ファイルをサポートしていません。これらは本格的なアプリケーション サーバーではありません。これらのコンテナー内の Web アプリケーションは、WAR ファイルとしてのみデプロイされます。
アプリケーション サーバーでは、EAR ファイルには、アプリケーション セキュリティ ロール マッピング、EJB 参照マッピング、Web モジュールのコンテキスト ルート URL マッピングなどの構成が含まれています。
Web モジュールと EJB モジュールの他に、EAR ファイルには、RAR ファイルとしてパッケージ化されたコネクタ モジュールと、JAR ファイルとしてパッケージ化されたクライアント モジュールも含めることができます。