22.4 Jar-Archive für Komponenten
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
|