Java 1
  • Home
  • Tutorials
    • Hello World
      • Download
      • Installation unter Windows
      • Installation unter Linux
      • Das Hello World Programm
      • Mehr Java
    • Java Konsole
      • Java Konsole Testen
    • Basic Java
      • Java Programme
        • Die Klasse
        • Datentypen
        • Null
        • Casten
        • Operatoren
        • Kontrollstrukturen
        • Arrays
        • Aufgaben
      • Objektorientierte Konzepte
        • Hallo Fenster
        • Objekte einer Klasse
        • Vererbung
        • Interfaces
      • Alles über Klassen
        • Abstrakte Klassen
        • Methoden überschreiben
        • Super
        • Final
        • Innere Klassen
        • Anonyme Klassen
        • Enumerations
      • You're just an object
        • Sichtbarkeit
        • Druckdarstellung
        • Gleichheit
        • Klonen
        • Die Class
        • Serialisierung
    • Java Api
      • Dokumentation
      • Strings
      • Wrapper Klassen
      • System und Runtime
      • Math
      • Exceptions
      • IO
      • Sammlungsklassen
      • AWT und Swing
      • Alle Komponenten
      • Applets
      • Threads
      • Jar
      • Classpath
    • JSP und Servlets
      • Meine erste JSP
        • Downloads
        • Installation unter Windows
        • Installation unter Linux
        • Admin und Manager
        • Webapplication
      • JSP
        • Java Code in HTML einbinden
        • Das HTTP Request - Response Modell
        • Request und Response Objekte
        • Auswerten von Formulardaten
        • Aufgaben
      • Beans
        • Die Session
        • Weitere vordefinierte Objekte
        • Java-Beans
        • Beans programmieren
        • Java-Beans in JSP nutzen
        • Aufgaben
      • Servlets
        • Nutzen der Servlets
        • Servlets programmieren
        • Servlets auf dem Server einrichten
        • Servlets mit JSP
        • Servlets includen
        • Aufgaben
      • Webapplikation
        • Filter
        • Initialisierungsparameter
        • Error Pages
        • Passwortgeschützte Verzeichnisse
        • Bibliotheken nutzen
        • Eine Webapplikation deployen
        • Ausblick: Wie geht's weiter?
        • JSP-Tags Syntaxreferenz
        • Aufgaben
  • Code
    • Web
      • Datenbankverbindungen mit Tomcat
      • Texte richtig encoden
      • HTTPS mit Tomcat
      • HTML Encoden mit Javascript
    • Java
      • Print F
      • Ein generischer Poolbuilder
      • Native Bibliotheken
      • Unique Ids
    • Java FX
      • Balls
      • Hearts
      • Planner
    • Java ME
      • The Next Big Thing
    • System
      • Vi Kommandos
  • Sidemap
  • Impressum
  • Hilfe
Home > Tutorials > Java Api > Jar
  • Home
  • Tutorials
    • Hello World
    • Java Konsole
    • Basic Java
    • Java Api
      • Dokumentation
      • Strings
      • Wrapper Klassen
      • System und Runtime
      • Math
      • Exceptions
      • IO
      • Sammlungsklassen
      • AWT und Swing
      • Alle Komponenten
      • Applets
      • Threads
      • Jar
      • Classpath
    • JSP und Servlets
  • Code
  • Sidemap
  • Impressum
  • Hilfe

Ausführbare jar-Dateien

Java Programme lassen sich mit allen Resourcen in ausführbare *.jar-Dateien packen, die eine bessere Integration in das Betriebssystem bieten. Auf Windows Systemen lassen sie sich durch Doppelklick starten, unter Linux gibt man etwa ein: java –jar NameXYZ.jar. In diesem Abschnitt wird erläutert, wie man eine Jar-Datei herstellt.

Klassen Packen mit jar

Jar ist ein weiteres cooles JDK – Tool, mit dem sich die Class-Dateien und Ressourcen, die unser Programm braucht, zu einer einzigen Datei zusammen fassen lassen. Diese Jar – Dateien (JAR = Java-Archiv Format) sind die übliche Form, um Java Bibliotheken und Programme zu verbreiten. Dabei handelt es sich um erweiterte Zip –Dateien, die sich auch mit jedem anderen Zipper öffnen lassen. Sie bekommen also mit dem JDK einen kostenlosen Zipper und Unzipper.

Wir wollen nun den ClosableFrame4 aus dem vorangegangenen Kapitel in eine ausführbare Jar-Datei packen. Jar selbst wird auf der Kommandozeile bedient. Wechseln Sie in das Verzeichnis, in das Ihre *.class Dateien erstellt werden, und geben Sie ein:

jar -c(reate) -v(erbose) -f(ile) ClosableFrame4.jar .

Was in Klammern steht, bitte nicht eingeben. Der Punkt am Ende ist wichtig, er weist jar an, alle Dateien in allen Unterverzeichnissen mitzunehmen.

Kontrolle ist besser, mit:

jar -t(able) -f(ile) ClosableFrame4.jar

können wir uns ansehen, was die jar – Datei enthält. Sie sehen, dass sie genau die Verzeichnisstruktur abbildet. Natürlich sind hier jetzt eine Menge Klassen drin, die wir gar nicht brauchen. Wir hätten daher auch die benötigten Klassen einzeln mit vollem Pfad angeben können.
Auch entpacken ist möglich,

jar -x(tract) -f(ile) FileLister.jar

Sie können auf diese Weise auch Zip Dateien entpacken, wenn Sie gerade kein anderes Tool zur Hand haben.

Das jar-Manifest

Beim Auflisten des Inhalts oder spätestens beim Entpackenhaben Sie festgestellt, dass jar etwas zu unserer jar – Datei hinzugemogelt hat. Es ist META-INF/MANIFEST.MF, die sogenannte Manifest-Datei. Die Manifest-Datei kann sehr verschiedene Informationen über den Hersteller des Archivs, über Signatur, Siegel und Version sowie benötigte Java – Erweiterungen enthalten. (Einzelheiten zum Manifest – Format in der Dokumentation des JDK unter guide/jar/jar.html.)

Ausführbare jar-Dateien

Wir können die Manifest – Datei benutzen, um unsere jar-Archive direkt ausführbar zu machen, unter Windows sogar auch Doppelklick. Dazu müssen wir in der Manifest – Datei die Hauptklasse unseres Programms angeben, also die mit der main()-Methode. Legen Sie bitte eine Datei(manifest.txt) an, die folgende Zeile enthält:

Main-Class: basicjava.bsp.kap2.FileLister

Speichern Sie diese Datei im Verzeichnis "classes" und führen Sie jar erneut aus (löschen Sie vorher das META-INF/Verzeichnis, falls es existiert, wir wollen keine Verwirrung stiften:

jar -c(reate) -m(anifest) -f(ile) manifest.txt FileLister.jar .

Jar hat nun eine neue Datei erstellt, die sich durch:

java –jar FileLister.jar

starten lässt. Unter Windows startet diese Datei auch mit dem berühmten Doppelklick.

Es klappt nicht? Mögliche Fehlerquellen:

  • In der manifest.txt Datei ist am Ende der Zeile kein Zeilenumbruch. Fügen Sie ein bis zwei Zeilenumbrüche ein und versuchen Sie es erneut.
  • Die Manifest - Datei hat das falsche Encoding oder das falsche Zeilenendzeichen (WinNT!). Benutzen Sie einen anderen Editor, speichernSie als ANSI (us-ascii) und nach Möglichkeit mit Unix Zeilenendzeichen.
  • Die Verknüpfung der *.jar Dateien aus Win32 Systemen ist nicht korrekt eingerichtet. Sie erkennen das daran, dass java –jar FileLister.jar das Programm korrekt startet, aber der Doppelklick nicht funktioniert. Sie können (auf eigenes Risiko) versuchen, die Verknüpfung selbst einzurichten: (Dateimanager/Extras/Ordneroptionen/Dateitypen: jar suchen (Executable jar – Datei), Eigenschaften, open, bearbeiten und dieses hier eingeben:"C:\Programme\Java\j2re1.4.2\bin\javaw.exe" -jar "%1" %*" bzw. der Pfadzu Ihrem javaw.) Alternativ dazu können Sie auch das JRE neu installieren.
« Threads
Java Api
Classpath »
Show/Hide Footer Actions

Kommentare:

Sie müssen angemeldet sein um eine Nachricht zu erstellen. Anmelden »
© 2012 Java 1. Alle Rechte vorbehalten.
Anmelden
concrete5 - open source CMS
Theme by Site5 / Mnkras.