回答:
Javaのヒントから:jarファイルとwarファイルの違い:
これらのファイルは、java jarツールを使用して圧縮されたファイルです。これらのファイルは、さまざまな目的で作成されます。これらのファイルの説明は次のとおりです。
.jarファイル: .jarファイルには、ライブラリ、リソース、プロパティファイルなどのアクセサリファイルが含まれています。
.warファイル: warファイルには、任意のサーブレット/ jspコンテナにデプロイできるWebアプリケーションが含まれています。.warファイルには、jsp、html、javascript、およびWebアプリケーションの開発に必要なその他のファイルが含まれています。
Sun / Oracleの公式説明:
ウィキペディアの記事:
.war
ファイルには、特定のファイルがされる場所の面で具体的な構造を有しています。それ以外は、はい、それだけ.jar
です。
Javaコンポーネントライブラリに使用されるパッケージと同様のJARであるWebアプリケーションアーカイブ(WAR)と呼ばれるパッケージで、J2EEアプリケーションにWebコンポーネントを追加します。WARには通常、次のようなWebコンポーネント以外のリソースが含まれています。
- サーバー側ユーティリティクラス(データベースBean、ショッピングカートなど)。
- 静的Webリソース(HTML、画像、音声ファイルなど)
- クライアント側のクラス(アプレットとユーティリティクラス)
WARには特定の階層ディレクトリ構造があります。WARの最上位ディレクトリは、アプリケーションのドキュメントルートです。ドキュメントルートは、JSPページ、クライアント側のクラスとアーカイブ、および静的Webリソースが格納される場所です。
(ソース)
したがって、.warは.jarですが、これにはWebアプリケーションコンポーネントが含まれ、特定の構造に従ってレイアウトされます。.warは、TomcatやJettyなどのWebアプリケーションサーバー、またはJBossやGlassfishなどのJava EEサーバーにデプロイするように設計されています。
.war
ファイルには、一方で、アプリケーション・サーバー内で実行するWebアプリケーションアーカイブである.jar
ユーザーのマシン上のデスクトップアプリケーションを実行するJavaアプリケーションアーカイブです。
warファイルは、Webアプリケーションをパッケージ化してアプリケーションサーバーに簡単にデプロイできるようにするために使用される特別なjarファイルです。warファイルの内容は、定義された構造に従う必要があります。
.jarと.warはどちらも圧縮されたアーカイブファイルです。どちらにも、バージョニングなどの有益な情報を保持するオプションのMETA-INF / MANIFEST.MFマニフェストファイルと、それを実行するJVMのクラスパスやメインクラスなどの指示属性を含めることができます。
.warファイル-「サーブレットコンテナー」内で実行することを目的としたWebアプリケーションアーカイブで、他のjarファイル(WEB-INF / libディレクトリに)コンパイル済みクラス(WEB-INF / classesにあります(サーブレットもそこに移動します)).jspファイルイメージ、ファイルなど自己完結型モジュールを作成するために存在するすべてのWARコンテンツ。
JARファイルを使用すると、ライブラリ、プラグイン、またはあらゆる種類のアプリケーションとして使用するために、複数のファイルをパッケージ化できます。一方、WARファイルはWebアプリケーションでのみ使用されます。
JARは任意の構造で作成できます。対照的に、WARには、WEB-INFおよびMETA-INFディレクトリを持つ事前定義された構造があります。
JARファイルを使用すると、Javaランタイム環境(JRE)は、クラスと関連リソースを含むアプリケーション全体を1つのリクエストでデプロイできます。一方、WARファイルを使用すると、Webアプリケーションを簡単にテストおよびデプロイできます。
JARファイル拡張子は.jarで、コマンドプロンプトからjarコマンドを使用して作成されます(javacコマンドが実行されるように)。一般に、JARファイルには、ライブラリ、クラスなどのJava関連リソースが含まれます。JARファイルは、プラットフォームに依存しないことを除いて、winzipファイルに似ています。
WARファイルは単なるJARファイルですが、サーブレット、JSP、HTMLなどのWeb関連のJavaファイルのみが含まれます。
WARファイルを実行するには、Tomcat、Weblogic、WebsphereなどのWebサーバーまたはWebコンテナが必要です。JARファイルを実行するには、単純なJDKで十分です。