Was ist der Unterschied zwischen JAR- und WAR-Dateien?

Das Hauptunterschied zwischen JAR- und WAR-Dateien liegt das JAR-Dateien sind Dateien mit Java-Klassendateien, zugehörigen Metadaten und Ressourcen, die zur Ausführung einer Java-Anwendung in einer einzigen Datei zusammengefasst sind. Die WAR-Dateien sind Dateien, die Servlet, JSP, HTML, JavaScript und andere Dateien enthalten, die zum Entwickeln von Webanwendungen erforderlich sind.

Java ist eine allgemeine Programmiersprache für allgemeine Anwendungen, mit der Anwendungen für verschiedene Domänen entwickelt werden. Java ist aus mehreren Gründen beliebt. Der Java-Quellcode wird zu einem Zwischencode kompiliert, der als Bytecode bezeichnet wird. Jede Plattform mit einer Java Virtual Machine (JVM) kann diesen Bytecode ausführen. Daher ist Java plattformunabhängig. Darüber hinaus ist Java robust, sicher und unterstützt Multithreading. Zwei Arten von Dateien, die sich auf die Java-Programmierung beziehen, sind JAR und WAR.

Wichtige Bereiche

1. Was sind JAR-Dateien?
     - Definition, Funktionalität
2. Was sind WAR-Dateien?
     - Definition, Funktionalität
3. Was ist der Unterschied zwischen JAR- und WAR-Dateien?
    - Vergleich der wichtigsten Unterschiede

Schlüsselbegriffe

JAR, Java, JVM, WAR

Was sind JAR-Dateien?

Eine JAR-Datei ist eine Datei, die alle Komponenten enthält, um eine eigenständige ausführbare Java-Anwendung zu erstellen. Darüber hinaus umfasst eine JAR-Datei kompilierten Java-Quellcode, Manifest-Datei, XML-basierte Konfigurationsdaten, JSON-basierte Datendateien, Bilder und Audio. Es ist eine Zusammenfassung all dieser Dateien in einer einzigen komprimierten Datei. Durch das Komprimieren aller Dateien kann die Größe der Anwendung reduziert werden. Darüber hinaus erleichtert es das Verschieben der JAR-Datei über das Netzwerk zwischen verschiedenen Plattformen.

Abbildung 1: Java-Dateien hinzufügen

Jedes Java Development Kit (JDK) enthält ein JAR-Dienstprogramm zur Unterstützung von JAR-Dateien. Es ermöglicht das Erstellen neuer JAR-Dateien mit einer Manifestdatei und das Extrahieren des gesamten Inhalts einer JAR-Datei in das Dateisystem. Darüber hinaus hilft das JAR-Dienstprogramm beim Aktualisieren vorhandener JAR-Dateien.

Was sind WAR-Dateien?

Eine WAR-Datei enthält Dateien, die sich auf ein Webprojekt beziehen. Es enthält Servlet-, JSP-, XML-, HTML-, CSS- und JavaScript-Dateien, die in jedem Servlet / JSP-Container bereitgestellt werden können. Das Jar-Tool von JDK hilft beim Erstellen einer WAR-Datei. Diese Dateien befinden sich im WEB-INF-Ordner des Projekts. Eine WAR-Datei fasst alle Dateien zu einer Einheit zusammen. Daher dauert es minimal, eine Datei vom Client zum Server zu übertragen.

Abbildung 2: JSP-Webanwendung

Es gibt zwei Methoden zum Bereitstellen einer WAR-Datei: über das Bedienfeld des Servers oder durch manuelles Ablegen der War-Datei in einem bestimmten Ordner des Servers. Wenn der Programmierer eine WAR-Datei manuell auf einem Server wie Apache Tomcat bereitstellen möchte, kann er in das webapps-Verzeichnis von Tomcat wechseln und die WAR-Datei in dieses Verzeichnis einfügen. Wenn nicht, extrahiert der Server beim Ausführen des Webprojekts die WAR-Datei intern.

Unterschied zwischen JAR- und WAR-Dateien

Definition

Eine JAR-Datei ist eine Datei mit Java-Klassen, zugehörigen Metadaten und Ressourcen wie Text und Bildern, die in einer Datei zusammengefasst sind. Eine WAR-Datei ist eine Datei, die zum Verteilen einer Sammlung von JAR-Dateien, JSP, Servlet, XML-Dateien, statischen Webseiten wie HTML und anderen Ressourcen, die eine Webanwendung bilden, verwendet wird. Dies erklärt den Hauptunterschied zwischen JAR- und WAR-Dateien. 

Lange Form

JAR-Datei steht für Java Archive. WAR-Datei steht für Web Application Resource oder Web Application Archive.

Dateierweiterung

Außerdem hat eine JAR-Datei die Erweiterung .jar, während eine WAR-Datei die Erweiterung .war hat.

Besteht aus

JAR-Dateien umfassen kompilierten Java-Quellcode, Manifestdateien, XML-basierte Konfigurationsdaten, JSON-basierte Datendateien, Bilder und Audio. Im Gegensatz dazu enthalten WAR-Dateien Servlet-, JSP-, XML-, HTML-, CSS- und JavaScript-Dateien. Dies ist ein weiterer Unterschied zwischen JAR- und WAR-Dateien.

Verwendungszweck

Ihre Verwendung führt zu einem weiteren Unterschied zwischen JAR- und WAR-Dateien. Das ist; Eine JAR-Datei ermöglicht es Java Runtime Environment (JRE), eine gesamte Anwendung einschließlich der Klassen und der zugehörigen Ressourcen in einer einzigen Anforderung bereitzustellen. Auf der anderen Seite ermöglicht eine WAR-Datei das einfache Testen und Bereitstellen einer Webanwendung.

Fazit

Der Hauptunterschied zwischen JAR- und WAR-Dateien ist der Inhalt. Die JAR-Dateien sind Dateien mit Java-Klassendateien, zugehörigen Metadaten und Ressourcen, die in einer einzigen Datei zusammengefasst sind, um eine Java-Anwendung auszuführen. Bei den WAR-Dateien handelt es sich jedoch um Dateien, die Servlet, JSP, HTML, JavaScript und andere Dateien enthalten, die zum Entwickeln von Webanwendungen erforderlich sind.

Referenz:

1. "JAR (Dateiformat)". Wikipedia, Wikimedia Foundation, 26. August 2018, hier verfügbar.
2. Was ist eine JAR-Datei (Java-Archiv)? - Definition von WhatIs.com. ”TheServerSide.com, hier verfügbar.
3. „WAR (Dateiformat)“. Wikipedia, Wikimedia Foundation, 13. Juli 2018, hier verfügbar.

Bildhöflichkeit:

1. "Glpk für Java Eclipse-Projekteigenschaften" Von Xypron - Eigene Arbeit (CC BY-SA 3.0) über Commons Wikimedia
2. „JSPLife“ Nach Benutzer: Zedlander, Benutzer: Sae1962 - (CC BY-SA 3.0) über Commons Wikimedia