ホームページ  >  記事  >  Java  >  Javaのjarパッケージとwarパッケージの違いは何ですか?

Javaのjarパッケージとwarパッケージの違いは何ですか?

青灯夜游
青灯夜游オリジナル
2019-04-23 10:58:027765ブラウズ

Java では、jar パッケージと war パッケージは基本的に圧縮ファイルと見なすことができますが、両者にはどのような違いがあるのでしょうか?以下の記事では、jar パッケージと war パッケージについて理解し、jar パッケージと war パッケージの違いについて紹介しますので、ご参考になれば幸いです。 [ビデオチュートリアルの推奨: Java チュートリアル]

Javaのjarパッケージとwarパッケージの違いは何ですか?

jar パッケージ

シンプル端的に言えば、JAR (Java Archive) はパッケージ ファイル形式です。 JAR ファイルには .jar 拡張子があり、ライブラリ、リソース、メタデータ ファイルを含めることができます。

本質的には、.class ファイルの圧縮バージョン、コンパイルされた Java ライブラリおよびアプリケーション リソースが含まれる圧縮ファイルです。

たとえば、単純な JAR ファイル構造は次のとおりです:

META-INF/
    MANIFEST.MF
com/
    baeldung/
        MyApplication.class

ここで、META-INF/manifest.mf のファイル Xiaohong には、アーカイブに保存されているファイルに関する追加のメタデータが含まれる場合があります。

jar コマンドまたは maven などのツールを使用して、jar ファイルを作成できます。

war パッケージ

war は、Web アプリケーション アーカイブまたは Web アプリケーション リソースを表します。これらのアーカイブ ファイルには .war 拡張子が付いており、任意のサーブレット/jsp コンテナにデプロイできる Web アプリケーションをパッケージ化するために使用されます。

次に、一般的な WAR ファイル構造のレイアウトの例を示します。

META-INF/
    MANIFEST.MF
WEB-INF/
    web.xml
    jsp/
        helloWorld.jsp
    classes/
        static/
        templates/
        application.properties
    lib/
        // *.jar files as libs

内部的には、Web アーカイブに関する有用な情報を manifest.mf に保持する META-INF ディレクトリがあります。 META-INF ディレクトリはプライベートなディレクトリであるため、外部からアクセスすることはできません。

一方、WEB-INF パブリック ディレクトリも含まれており、このディレクトリには HTML ページ、画像、JS ファイルなどのすべての静的 Web リソースが含まれています。さらに、web.xml ファイル、サーブレット クラス、およびライブラリが含まれています。

JAR をビルドするときと同じツールとコマンドを使用して war ファイルをビルドできます。

#java の jar パッケージと war パッケージの違い

1. 異なるファイル拡張子

JAR の拡​​張子は .jar ですが、WAR ファイルの拡張子は .war です。

2. さまざまな目的と操作モード

JAR ファイルを使用すると、ライブラリ、プラグイン、またはあらゆる種類のアプリケーションとして使用するために複数のファイルをパッケージ化できます。 。一方、WAR ファイルは Web アプリケーションにのみ使用され、war パッケージはプロジェクトに関するすべてが含まれる Web プロジェクトとして理解できます。 。

3. ファイルの構造も異なります

任意の構造の JAR を作成できます。対照的に、WAR には、WEB-INF ディレクトリと META-INF ディレクトリの事前定義された構造があります。

以上がJavaのjarパッケージとwarパッケージの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。