Welches Dateiformat ist JAR?
jar ist ein Dateiformat für Softwarepakete, das normalerweise zum Zusammenfassen einer großen Anzahl von Java-Klassendateien, zugehörigen Metadaten und Ressourcendateien in einer Datei verwendet wird, um Anwendungssoftware oder Bibliotheken für die Java-Plattform zu entwickeln. JAR-Dateien beziehen sich auch auf eine Archivdatei. Im ZIP-Format erstellt, mit „.jar“ als Dateierweiterung.
Die Betriebsumgebung dieses Artikels: Windows 7-System, DELL G3-Computer, Java8.0.
Im Softwarebereich ist die JAR-Datei (Java Archive, Englisch: Java Archive) ein Dateiformat für Softwarepakete, das normalerweise zum Zusammenfassen einer großen Anzahl von Java-Klassendateien, zugehörigen Metadaten und Ressourcendateien (Text, Bilder usw.) verwendet wird in eine Datei, um Anwendungssoftware oder Bibliotheken für die Java-Plattform zu entwickeln.
Eine JAR-Datei ist eine im ZIP-Format erstellte Archivdatei mit der Dateierweiterung .jar. Benutzer können den JDK-eigenen JAR-Befehl verwenden, um JAR-Dateien zu erstellen oder zu extrahieren. Sie können auch andere Zip-Komprimierungstools verwenden, aber die Reihenfolge der Einträge im Zip-Datei-Header ist beim Komprimieren wichtig, da die Manifest-Datei häufig zuerst platziert werden muss. Dateinamen in JAR-Dateien sind Unicode-Text.
Das JAR-Dateiformat basiert auf dem beliebten ZIP-Dateiformat. Im Gegensatz zu ZIP-Dateien werden JAR-Dateien nicht nur zur Komprimierung und Verteilung, sondern auch zur Bereitstellung und Verpackung von Bibliotheken, Komponenten und Plug-Ins verwendet und können direkt von Tools wie Compilern und JVM verwendet werden. Spezielle Dateien wie Manifeste und Bereitstellungsdeskriptoren sind in einer JAR enthalten, um Tools anzuweisen, wie eine bestimmte JAR verarbeitet werden soll.
Verwandte Funktionen
Das JAR-Dateiformat bietet viele Vorteile und Funktionen, von denen viele herkömmliche Komprimierungsformate wie ZIP oder RAR nicht bieten.
Dazu gehören:
Sicherheit Der Inhalt von JAR-Dateien kann digital signiert werden. Auf diese Weise kann ein Tool, das die Signatur erkennt, Ihnen selektiv Software-Sicherheitsrechte gewähren, die keine andere Datei kann, und es kann auch erkennen, ob der Code manipuliert wurde.
Downloadzeit reduzieren Wenn ein Applet in einer JAR-Datei gebündelt ist, kann der Browser die Klassendateien des Applets und zugehörige Ressourcen in einer HTTP-Transaktion herunterladen, anstatt für jede Datei eine neue Verbindung zu öffnen.
Komprimierung Das JAR-Format ermöglicht Ihnen die Komprimierung von Dateien für eine höhere Speichereffizienz.
Transportplattform-ErweiterungenDas Java Extensions Framework bietet Methoden zum Hinzufügen von Funktionen zur Java-Kernplattform. Diese Erweiterungen sind in JAR-Dateien gepackt (Java 3D und JavaMail sind Beispiele für von Sun entwickelte Erweiterungen).
Empfohlen: „Java-Tutorial“
Paketversiegelung
In JAR-Dateien gespeicherte Pakete können optional versiegelt werden, um die Versionskonsistenz und -sicherheit zu verbessern. Das Versiegeln eines Pakets bedeutet, dass alle Klassen im Paket in derselben JAR-Datei gefunden werden müssen.
Paketversionierung
Eine JAR-Datei kann Daten über die darin enthaltenen Dateien enthalten, z. B. Hersteller- und Versionsinformationen.
Portabilität
Der Mechanismus zur Verarbeitung von JAR-Dateien ist ein Standardbestandteil der Kern-API der Java-Plattform.
Das obige ist der detaillierte Inhalt vonWelches Dateiformat ist JAR?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Voraussetzungen für die Ausführung von JAR-Dateien Die Ausführung von JAR-Dateien auf einem Linux-System erfordert die Installation der Java Runtime Environment (JRE), der Grundkomponente, die zum Ausführen von Java-Anwendungen erforderlich ist, einschließlich der Java Virtual Machine (JVM), Kernklassenbibliotheken usw. Viele gängige Linux-Distributionen wie Ubuntu, Debian, Fedora, openSUSE usw. bieten Softwarebibliotheken mit JRE-Paketen, um die Benutzerinstallation zu erleichtern. Im folgenden Artikel werden die Schritte zur Installation von JRE auf gängigen Distributionen detailliert beschrieben. Nach dem Einrichten der JRE können Sie je nach Ihren persönlichen Vorlieben das Befehlszeilenterminal oder die grafische Benutzeroberfläche zum Starten der JAR-Datei verwenden. Ihre Wahl hängt möglicherweise von Ihrer Vertrautheit mit Linux-Shells und Ihren persönlichen Vorlieben ab

Erstellen Sie im Projektverzeichnis eine Dockerfile-Datei, die später verwendet wird. Die Datei wird im neu erstellten Ordner /data/docker/hellolearn auf dem Server bereitgestellt (der Dateipfad kann angepasst werden). Kopieren Sie das Maven-gepackte JAR-Paket und die oben erstellte Dockerfile-Datei in den neu erstellten Ordner auf dem Server (/data). /docker/hellolearn). Generieren Sie das Bild dockerbuild-thellolearn.dockerbuild-t Bildname: Die relative Position der Beschriftung der Docker-Datei, der Punkt stellt das aktuelle Verzeichnis dar und der Standardwert ist „Latest“, wenn kein Tag geschrieben wird. Containerdokument starten

Maven-Befehl: 1.mvncleanpackage-DskipTests: Führen Sie diesen Befehl im Projektverzeichnis aus, um ein JAR-Paket oder WAR-Paket im Zielverzeichnis zu generieren. 2.mvnclean: Bereinigen Sie die vom Projekt erstellten temporären Dateien, normalerweise das Zielverzeichnis unter dem Modul. 3.mvncompile-DskipTests: Der Modulinstallationsbefehl kopiert die gepackte JAR-/War-Datei zur Verwendung durch andere Module – Dmaven-Test .skip=true überspringt Tests (testcompile wird ebenfalls übersprungen).4.mvntest: Testbefehl oder src/test/java/ ausführen

Vorwort In der Konfigurationsdatei von Springboot haben die Namen der Konfigurationsdateien ihre eigene Bedeutung und Verwendung. Dev-Entwicklungsumgebung, Prod-Produktionsumgebung (Standard), Test-Testumgebung, lädt die angegebene Konfigurationsdatei – spring.profiles.active=prod Springboot lädt JAR-Pakete direkt in der Konsole. Der Nachteil besteht darin, dass das Projekt geschlossen wird, wenn die Konsole geschlossen wird. java-jarbootdo.jar//Diese Methode kann im Hintergrund ausgeführt werden, aber wenn die Shell gestartet wird, bleibt sie auch hängen java-jar/bootdo-2.0.0.jar>bootdolog.file2>&

1. SpringBoot gibt den Pfad der Konfigurationsdatei an: In SpringBoot kann die Konfigurationsdatei außerhalb des JAR-Pakets platziert werden, sodass die Konfiguration ohne Umpacken und Bereitstellen einfach geändert werden kann. Es gibt mehrere Möglichkeiten, das Konfigurationsdateiverzeichnis anzugeben: (sortiert von hoher bis niedriger Effektivitätspriorität) 1) Verwenden Sie Befehlszeilenparameter: Beim Starten der Anwendung können Sie --spring.config.location oder -Dspring.config verwenden Der Befehlszeilenparameter „location“ gibt den Pfad zur Konfigurationsdatei an, zum Beispiel: (das / nach config kann nicht weggelassen werden) java-jartest.jar--spring.config.locatio

Vorwort: Das Unternehmen hat ein Projekt in Eile, und einige der Projektanforderungen stimmen mit einigen Funktionen des vorherigen Projekts überein, um einige Module im vorherigen Maven-Projekt mit mehreren Modulen zu beschleunigen und direkt einzuführen Das neue Projekt wurde zwar in Form von JAR-Paketen gestartet, es sparte jedoch viel Entwicklungszeit, führte jedoch auch dazu, dass das Projekt die zugehörigen Abhängigkeiten des Projekt-JARs importieren musste, was dazu führte, dass das Projekt aufgebläht wurde und langsamer startete. Gibt es eine Möglichkeit, dafür zu sorgen, dass das Projekt nur die benötigten Beans lädt? Natürlich können wir den Quellcode direkt ändern und neu verpacken, um das Problem zu lösen, aber diese Methode ist zu mühsam. Über die Methode von Baidu kann die Abfrage die @ComponentScan-Annotation in der Springboot-Startklasse verwenden, um das Codebeispiel @Componen zu implementieren

Der Hintergrund der Geschichte liegt in einem Framework namens Magic-API. Sie können Code auf Low-Code-Art schreiben und ihn dynamisch kompilieren und ausführen. Wenn Sie jedoch einige Importklassen laden möchten, müssen Sie das JAR laden Projekt, bevor Sie es importieren können. Dann müssen Sie jedes Mal, wenn Sie zu neuen Klassen kommen, die Klasse neu in das Projekt laden, dann das Projekt packen und dann importieren ... Das ist sehr mühsam! ! ! Natürlich müssen wir auch einen allgemeinen Ausführungsprozess von Magic erwähnen. Wenn Sie eine Kopie des Quellcodes erhalten, wird der Import in die Header-Datei über Class.forName im Quellcode geladen , dann verwenden Sie URLClassLo direkt.

Vorwort: Bei der Arbeit bin ich auf ein Javaweb-Projekt gestoßen, das mit dem Springboot-Framework erstellt wurde und Push-Funktionen von Drittanbietern integrieren musste. Daher habe ich den Xiaomi-Push-Dienst verwendet und das entsprechende JAR-Paket heruntergeladen. Die Einführung lokaler Jars in das Projekt stellt kein großes Problem dar. Nach dem Schreiben des Codes ist es kein Problem, den Testklassentest zu bestehen. Bereiten Sie dann das Paketieren und Bereitstellen auf dem Entwicklungsserver vor. Da das Projekt über Tomcat bereitgestellt wird, handelt es sich bei der Verpackungsmethode um ein Kriegspaket. Laden Sie es nach dem Packen auf den Entwicklungsserver hoch. Nach dem erfolgreichen Start habe ich die geschriebene Push-Schnittstelle getestet und festgestellt, dass sie fehlgeschlagen ist. Durch die Analyse wurde festgestellt, dass das lib-Verzeichnis im Paketkrieg, in dem die abhängigen JAR-Dateien des Projekts gespeichert sind, keine lokal eingeführten Push-bezogenen JAR-Pakete enthält. Nach einer halben Stunde Mühe war das Problem gelöst. lösen
