Nachdem ich gestern ja die neue Version von meinem Kodierungsprogramm RJSKryp als JAR-Datei online gestellt habe, sind bereits erste Fragen aufgetaucht. Und zwar zu dem JAR-Format.
Offensichtlich erkennen einige Java-verweigernde Betriebssysteme (was meine ich bloß ;-)) bzw. so eingestellte Browser die Bedeutung nicht richtig und interpretieren es als ZIP-Format.
Das ist jetzt nicht grundsätzlich falsch. Das JAR-Format (Java Archive) ist binärkompatibel zum ZIP-Format. Es enthält jedoch zusätzlich eine so genannte Manifestdatei mit Metainformationen. Darüber kann man beispielsweise eine Klasse explizit spezifizieren, um für eine JVM (Java Virtual Machine) diese spezifische Klasse als Startklasse einer Java-Applikation anzugeben.
So sieht etwa der Inhalt von der Manifestdatei in meiner JAR-Datei rjskryp.jar aus:
Manifest-Version: 1.0
Class-Path: .
Main-Class: de.rjs.main.RJSKryp
Deutlich ist die Java-Klasse de.rjs.main.RJSKryp als Startklasse zu erkennen.
Das erlaubt es jetzt, dass das Programm sogar über den Browser direkt beim Anklicken des Links von der JVM ausgeführt werden kann.
Vollkommen analog lässt das Programm lokal starten, wenn die JAR-Datei zuerst lokal gespeichert wurde.
Den Inhalt der JAR-Datei kann man sich aber auch in einem Programm wie 7-ZIP ansehen, da das Format ja wie gesagt binärkompatibel zum ZIP-Format ist.