ユーザーが.war
ファイルをインポートできるようにするWebプログラムがあり、.war
ファイルから特定のファイルを抽出できます。 Java.util.Zip.*
とJava.util.jar.*
の2つのクラスライブラリを見つけました。私の理解では、WARファイルは特別なZipファイルである特別なJARファイルです。 Java.util.jar
を使用する方が良いでしょうか? ZipファイルとJARファイルがほぼ同じ場合、2つの異なるライブラリが必要なのはなぜですか?
WARファイルは単なるJARファイルです。抽出するには、次のjarコマンドを発行します–
jar -xvf yourWARfileName.war
Jarコマンドが見つからない場合(Windowsコマンドプロンプトで時々発生する)、フルパスを指定します。つまり、私の場合は、
c:\Java\jdk-1.7.0\bin\jar -xvf my-file.war
.war
の名前を.jar
に変更し、Winrar
(または他のアーカイブマネージャー)を使用して解凍します。
LinuxまたはUbuntuを使用している場合は、.war
ファイルから直接データを抽出できます。
war
ファイルは、単にjar
ファイルです。これを抽出するには、jar
プログラムを使用して次のコマンドを発行します。
jar -xvf yourWARfileName.war
あなたが言ったように、jar is Zipファイル(特別なタイプではなく、単なる古いZip)であるため、どちらのライブラリも機能させることができます。理由は、*。Zip拡張子を見る平均的な人はそれを解凍する傾向があるということです。アプリサーバーはそれを解凍することを望んでいるので、簡単な名前変更は人々が単に習慣からそれを解凍することを防ぎます。同様に、*。warファイルも非圧縮のままにしておく必要があります。
Java.util.jarは基本的に、Java.util.Zipに追加の機能を追加するだけで、余分なオーバーヘッドはほとんどありません。 Java.util.jarを投稿などのヘルパーにして、使用します。
Jarクラス/パッケージは、場合によってはJarファイルによって使用されるマニフェストがある特定のJarファイルメカニズム用です。
Zipファイルクラス/パッケージは、圧縮ファイルの一種であるJarファイルを含む圧縮ファイルを処理します。
したがって、JarクラスはZipパッケージクラスを拡張します。
ターンアラウンドを使用して、アプリケーションをTomcatサーバーにデプロイするだけです。webappsフォルダーの下にコピー/貼り付けするだけです。 Tomcatが開始されると、アプリ名でフォルダーが作成され、コンテンツに直接アクセスできます