Java開発の場合、jarパッケージとwarパッケージの間には多くの接点がありますが、それらを深く理解する必要があります。要約は次のように要約されます。
1. jarパッケージの紹介
JAR(Java Archive、Java Archive File)は、プラットフォームに依存しないファイル形式で、多くのファイルを圧縮ファイルに結合できます。JavaSEプログラムはJarパッケージにパッケージ化できます(Jは実際にはJavaとして理解できます)。
JARファイル形式は、一般的なZIPファイル形式に基づいています。ZIPファイルとは異なり、JARファイルは圧縮と配布だけでなく、ライブラリ、コンポーネント、プラグインのデプロイとパッケージ化にも使用され、コンパイラやJVMなどのツールで直接使用できます。マニフェストやデプロイメント記述子などの特別なファイルをJARに含めて、特定のJARの処理方法をツールに指示します。
簡単に言うと、jarパッケージは、他の人がすでに作成したクラスであり、これらのクラスをパッケージ化します。これらのjarパッケージはプロジェクトに導入でき、これらのjarパッケージのクラスと属性を直接使用できます。これらのjarパッケージは通常libディレクトリに配置されます。
2.戦争パッケージの紹介
Warは直接実行できるWebモジュールであり、通常はWebサイトで使用され、コンテナーにパッケージ化されます。
Tomcat、その戦争のパッケージ内に配置されます\ webappsに\ディレクトリの下にリリースされ、その後、Tomcatを起動し、このパッケージが自動的に抽出されます同等。
warパッケージは、Sunによって提案されたWebアプリケーション形式であり、jarと同様に、多くのファイルの圧縮パッケージです。warパッケージ内のファイルは、特定のディレクトリ構造に従って編成されています。ルートディレクトリによると、WEB-INFディレクトリに加えて、htmlファイルとjspファイル、またはこれら2つのファイルのディレクトリが含まれています。通常、web.xmlファイルとWEB-INFディレクトリのclassesディレクトリが含まれ、web.xmlはこのアプリケーションの構成ファイルです。classesディレクトリには、コンパイルされたサーブレットクラスとjsp、またはサーブレットが依存するその他のクラス( JavaBeanなど)。通常、これらの依存クラスはjarパッケージにパッケージ化して、WEB-INFの下のlibディレクトリに配置することもできます。
簡単に言えば、warパッケージはJavaWebプログラムのパッケージです。warパッケージには、記述されたコードによってコンパイルされたクラスファイル、依存パッケージ、構成ファイル、およびhtml、jspなどを含むすべてのWebサイトページが含まれます。warパッケージは、プロジェクト内のすべてを含むWebプロジェクトとして理解できます。
3.違い:(WARファイルはWebアプリケーションを表し、JARはクラスアーカイブファイルです。)
Webアプリケーションに多くのディレクトリとファイルがある場合、Webアプリケーションを別のマシンにデプロイするのはあまり便利ではありません。現時点では、WebアプリケーションをWebアーカイブ(WAR)ファイルにパッケージ化できます。このプロセスこれは、JavaクラスファイルをJARファイルにパッケージ化するプロセスに似ています。WARファイルを使用すると、サーブレットクラスファイルと関連リソースを一緒にリリースできます。このプロセスでは、Webアプリケーションはディレクトリ階層に従ってデプロイされませんが、WARファイルがデプロイメントユニットとして使用されます。
WARファイルはWebアプリケーションです。WARファイルを作成するには、Webアプリケーション全体(Webアプリケーション階層のルートディレクトリを除く)を圧縮し、.war拡張子を指定します。
WARファイルとJARファイルのファイル形式は同じであり、jarコマンドを使用して作成されますが、それらのアプリケーションに関する限り、WARファイルとJARファイルには基本的な違いがあることに注意してください。JARファイルの目的は、クラスと関連リソースを圧縮アーカイブファイルにカプセル化することです。WARファイルの場合、WARファイルは、サーブレット、HTMLページ、Javaクラス、画像ファイルを含むことができるWebアプリケーションを表します。また、クラスのアーカイブファイルだけでなく、Webアプリケーションを構成する他のリソース。
では、いつWARファイルを使用すればよいですか?開発段階でWARファイルを使用することは適切ではありません。開発段階では、多くの場合、Webアプリケーションのコンテンツを追加または削除し、サーブレットクラスファイルを更新する必要があります。変更のたびに、WARファイルを再確立すると、時間の無駄になります。製品のリリース段階では、現時点ではほとんど変更を必要としないため、WARファイルの使用がより適切です。
開発段階では、通常、サーブレットソースファイルをWebアプリケーションディレクトリのsrcサブディレクトリに配置して、Webリソースファイルと区別します。WARファイルを作成する場合、Webアプリケーションディレクトリからsrcディレクトリを削除するだけで、パッケージ化できます。
4. warパッケージをTomcatにデプロイする
1)。ここでの作業では、通常、テスト用のwarパッケージを開発します。たとえば、テストではtest.warという名前のwarパッケージを取得します。
2)。「D:\ Tomcat \ apache-tomcat-7.0.68」であると仮定して、Tomcatのインストールパスを開き、webappsフォルダーに移動して、test.warをwebappsフォルダーに配置します。
3)。Tomcatを起動します。
構成ファイルを変更する必要がない場合:この手順で十分です。
ブラウザに「http:localhost:tomcat_port / test」と入力して、テストプロジェクトのindex.jspページを開きます(ポートは独自のポート番号です)。テストプロジェクトにindex.jspページがない場合は、対応する他のページを開く必要があります。
構成ファイルを変更する必要がある場合:
4)。Tomcatを閉じます。
5)。test.warファイルを削除します(tomcatの起動時にwarパッケージを削除すると、解凍されたフォルダーも削除されるため、解凍後にtomcatを停止してから、warパッケージを削除する必要があります。開始。現時点では、プロジェクトフォルダはwarから抽出されていないと見なされます。
6)。Tomcatが起動したばかりなので、Tomcatはtest.warをtestフォルダーに自動的に解凍します。したがって、webappsの下にtestフォルダーが表示されます。テストフォルダーを開いて、構成ファイルを変更します。
7)。設定を更新した後、Tomcatを起動します。
8)。ブラウザを開きます。
参照元:https : //www.jianshu.com/p/3b5c45e8e5bd