Galileo Computing < openbook >
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.


Java ist auch eine Insel von Christian Ullenboom
Buch: Java ist auch eine Insel (Galileo Computing)
gp Kapitel 22 Komponenten durch Bohnen
gp 22.1 Grundlagen der Komponententechnik
gp 22.1.1 Brauchen wir überhaupt Komponenten?
gp 22.1.2 Visuelle und nichtvisuelle Komponenten
gp 22.1.3 Andere Komponententechnologien oder: Was uns Microsoft brachte
gp 22.2 Das JavaBeans Development Kit (BDK)
gp 22.2.1 Eine Beispielsitzung im BDK
gp 22.2.2 Verknüpfungen zwischen Komponenten
gp 22.2.3 Beans speichern
gp 22.3 Die kleinste Bohne der Welt
gp 22.4 Jar-Archive für Komponenten
gp 22.5 Worauf JavaBeans basieren
gp 22.6 Eigenschaften
gp 22.6.1 Einfache Eigenschaften
gp 22.6.2 Boolesche Eigenschaften
gp 22.6.3 Indizierte Eigenschaften
gp 22.7 Ereignisse
gp 22.7.1 Multicast und Unicast
gp 22.7.2 Namenskonvention
gp 22.8 Weitere Eigenschaften
gp 22.8.1 Gebundene Eigenschaften
gp 22.8.2 Anwendung von PropertyChange bei AWT-Komponenten
gp 22.8.3 Veto-Eigenschaften. Dagegen!
gp 22.9 Bean-Eigenschaften anpassen
gp 22.9.1 Customizer
gp 22.10 Property-Editoren
gp 22.11 BeanInfo
gp 22.12 Beliebte Fehler


Galileo Computing

22.4 Jar-Archive für Komponententoptop

Eine Jar-Datei ist ein Archivformat, welches Sun zum Verbund von Klassen und Mediendateien einführte. Nach dem Compilieren der Klasse FirstBean wird die Datei mit einem zusätzlichen Manifest in eine Jar-Datei gepackt. Damit der Application-Builder erkennen kann, dass es sich dabei um eine Bean handelt, erwartet er eine bestimmte Information in einer Manifest-Datei, die automatisch beim Zusammenpacken erzeugt wird. Ständen diese Informationen nicht dabei, könnte der Application-Builder die Bean nicht erkennen.

Wir wollen die Jar-Datei mit dem Dienstprogramm jar von Hand erzeugen. Zunächst legen wir eine Manifest-Datei an, die wir nach der Komponente benennen.

Listing 22.2 FirstBean.mf

Manifest-Version: 1.0
Name: FirstBean.class
Java-Bean: True

Hinweis Es dürfen vor den Doppelpunkten keine Leerzeichen stehen, andernfalls erkennt Jar die erste Option nicht und bemängelt den fehlerhaften Header. Leider ist Jar nicht sehr fehlertolerant.

Befinden sich im Jar-Archiv mehrere Klassen, so sollten ihre Dateinamen mit Return getrennt sein. Bei Paketnamen ist eine Trennung mit / vorgesehen, nicht mit dem Windows-\.

Im nächsten Schritt packen wir mit jar die Klassen sowie die Manifest-Datei zu einem Archiv zusammen. Wir müssen hier die Optionen cfm nutzen. Merken wir uns die Option im englischen Satz »Create a File with a Manifest«, übersetzt »Lege die Datei mit Manifest an« .

$ jar cfm FirstBean.jar FirstBean.mf FirstBean.class

Für eine genauere Beschreibung des Dienstprogramms jar sei auf das Jar-Kapitel verwiesen.

Wurde das Jar-Archiv erfolgreich erstellt, muss dem Application-Builder die Bean bekannt gemacht werden. Hier unterscheiden sich die Produkte der einzelnen Hersteller voneinander. Im BDK von Sun müssen alle Beans im Unterverzeichnis jars liegen, damit sie das BDK automatisch erkennt. Kopieren wir unsere Bean dort hinein. Unter Windows:

$ copy FirstBean.jar c:\bdk\jars

Wenn wir jetzt die Bean-Box starten, erscheint unsere Komponente mit in der Liste. Im jars-Verzeichnis stehen auch die anderen Beans.


Tipp Eine etwas schnellere Vorgehensweise besteht darin, die Jar-Datei nicht in das jars-Verzeichnis zu legen, sondern in ein eigenes Verzeichnis.
Das hat den Vorteil, dass die Bean-Box schneller startet, denn dann muss sie nicht die zusätzliche Bean auswerten, was immer Zeit kostet. Wenn wir Beans nicht benötigen, dann können wir sie auch verschieben oder löschen, was die Ladezeit zusätzlich erhöht. Damit in diesem Fall das eigene Jar-Archiv eingebunden wird, laden wir es unter dem Menüpunkt File.Load Jar.

Wenn wir wiederholt Beans in ein Archiv packen und keine integrierte Entwicklungsumgebung diese Arbeit erledigt, dann kann uns ein kleines Script helfen. Beispielhaft für Windows:

Listing 22.3 a.bat

javac zzz.java
jar cfm zzz.jar zzz.mf zzz.class
copy zzz.jar c:\bdk\jars




Copyright (c) Galileo Press GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de