JavaのJARパッケージ、EARパッケージ、WARパッケージの違いは?


最初のブログ:
JArパッケージとwarパッケージの違い:warはwebモジュールであり、WEB-INFを含む必要があり、直接実行可能なWEBモジュールである.jarは一般的にclassファイルをいくつか含んでいるだけで、Main_を宣言しています.classの後はjavaコマンドで実行できます.圧縮されたパッケージです.Tomcatで言えば、warファイルパッケージをwebappsディレクトリの下に置いて、Tomcatを起動します.このパッケージは自動的に解凍することができます.つまり、あなたのwebディレクトリは、リリースに相当します.
warパッケージ:Webアプリケーションが作成された後、通常はウェブサイトであり、パッケージとしてコンテナに配置されます.JArパッケージ:通常は開発時に汎用クラスを参照し、パッケージにして保存管理しやすい.earパッケージ:エンタープライズアプリケーションで、通常はEJBがearパッケージになります.すべてのパッケージはjarで打たれていますが、ターゲットファイルの拡張子が違います.WARはSunが提案したWebアプリケーション形式であり、JARと同様に多くのファイルの圧縮パッケージでもある.このパッケージのファイルは、通常、ルートディレクトリの下にHtmlとJspファイル、またはこの2つのファイルを含むディレクトリが含まれているほか、WEB-INFディレクトリもあります.このディレクトリは重要です.通常、WEB-INFディレクトリの下にweb.xmlファイルとclassesディレクトリがあります.web.xmlはこのアプリケーションのプロファイルですが、classesディレクトリの下にはコンパイルされたサーブレットクラスとJspまたはサーブレットに依存する他のクラス(JavaBeanなど)が含まれています.通常これらの依存クラスは、JARがWEB-INFのlibディレクトリの下に置くようにパッケージ化するもよいし、もちろんシステムのCLASSSPATHに置くようにしてもよいが、そのような移植や管理は不便である.
2番目のブログ:
最近このいくつかの語に接触するのは比較的に多くて、止まってそれらの区別と連絡を総括して総括して、もっと良い深い理解
   Jar、war、EAR、      ,         ,     zip jar        。             :

Jarファイル(拡張子.Jar,Java Application Archive)には、Javaクラスの通常ライブラリ、リソース(resources)、アシストファイル(auxiliary files)などのWarファイル(拡張子.War,Web Application Archive)が含まれ、すべてのWebアプリケーションが含まれます.この場合、1つのWebアプリケーションは、jarファイルをカプセル化し、小型サービスプログラム(servlet)としてアクセスできる個別のファイル、クラス、リソースのセットとして定義される.Earファイル(拡張子.Ear,Enterprise Application Archive)には、すべてのエンタープライズアプリケーションが含まれています.この場合、1つのエンタープライズアプリケーションは、複数のjarファイル、リソース、クラス、およびWebアプリケーションの集合として定義される.各ファイル(.jar,.war,.ear)は、アプリケーションサーバ(application servers)、スモール・サービス・プログラム・コンテナ(servlet containers)、EJBコンテナ(EJB containers)などでのみ処理できます.
EARファイルには、複数のejb module(jarファイル)とweb module(warファイル)を含むプロジェクト全体が含まれています.
     EAR         winrar zip      jar  。

手順:warとjarにパッケージ化し、アプリケーション.xmlを書き終え、META-INFディレクトリの下に配置し、jar cf your_application.ear your_war.war your_JAr.jar META-INF/application.xml、パッケージ化、私はすべて現在のディレクトリの下でjar xf your_を使うことができると仮定します.アプリケーション.ear解凍
Application.xmlではearに含まれるwarとjarについて説明しています(前の記事で述べました)
jbossのアプリケーション.xmlの例
<span style="font-size:18px;"><span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">  
<application>  
  <display-name>lishehetestear</display-name>  
  <module>  
    <java>lishehe_api-0.0.1-SNAPSHOT.jar</java>  
  </module>  
  <module>  
    <java>lishehe_core-0.0.1-SNAPSHOT.jar</java>  
  </module>  
  <module>  
    <web>  
      <web-uri>lishehe_war-0.0.1-SNAPSHOT.war</web-uri>  
      <context-root>/lishehe_war</context-root>  
    </web>  
  </module>  
</application></span></span>  

WARの使用:
warファイルを生成する場合:jar-cvf web 1.war*web 1.war*web 1.warを表示したい場合は、jar-tf web 1.warを使用します.web 1.warファイルを直接解凍したい場合は、jar-xvf web 1.warを使用します.また、winrarソフトウェアを使用してzip圧縮方式を選択することもできます.圧縮ファイルの接尾辞名をwarに変更すると、生成warファイルを圧縮することができます.同様にwinrarソフトウェアを使用してwarファイルを強制的に開くか、warファイルを強制的に解凍してjarコマンドを使用してwinrarソフトウェアとの違いは、前者がファイルを圧縮しながらMetainFフォルダを生成し、MANIFEST.MFファイルを含むことである.
まとめ:warまたはjarファイルをいつ使用するか:あなたのプロジェクトが完全に竣工していないときは、warファイルを使用するのは適切ではありません.あなたのクラスはデバッグなどでよく変更されるので、warファイルを削除したり作成したりするのは不快です.あなたのプロジェクトが完成したほうがいいです.変更しないなら、warパッケージを打ってください.このときwarファイルはwebアプリケーションの鳥に相当します.jarファイルは、クラスと関連するリソースをパッケージにカプセル化し、プログラムで参照しやすいようにします.
psコメント:プロジェクトが完了する前に最後にjar、完了したらwarファイル、earはjarとwarの集合です