Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger

 << zurück
Java ist auch eine Insel von Christian Ullenboom
Programmieren für die Java 2-Plattform in der Version 5
Java ist auch eine Insel

Java ist auch eine Insel
5., akt. und erw. Auflage
1454 S., mit CD, 49,90 Euro
Galileo Computing
ISBN 3-89842-747-1
gp Kapitel 22 Komponenten durch Bohnen
  gp 22.1 Grundlagen der Komponententechnik
    gp 22.1.1 Brauchen wir Komponenten überhaupt?
    gp 22.1.2 Visuelle und nichtvisuelle Komponenten
    gp 22.1.3 Komponenten-Technologien von Microsoft
  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 Komponentetoptop

Eine Jar-Datei ist ein Archivformat, das 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   Vor den Doppelpunkten dürfen keine Leerzeichen stehen, sonst 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, 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. Hier müssen wir 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 Abschnitt 25.3.2, Signieren mit jarsigner, 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, sondern in ein eigenes Verzeichnis zu legen. Das hat den Vorteil, dass die Bean-Box schneller startet, weil sie dann nicht die zusätzliche Bean auswerten muss, was immer Zeit kostet. Wenn wir Beans nicht benötigen, 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, 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
 << zurück




Copyright © Galileo Press GmbH 2005
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, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de