21.1.1 | Der Classpath |
Welche Klassen in welcher Reihenfolge geladen werden, hängt vom angegebenen Classpath ab. Wenn in einer HTML-Seite die folgende Definition auftritt,<applet code="Test" codebase="classes" width="2" height="2">wird der Classpath auf classes gesetzt. Wenn der ClassLoader eine Klasse sucht, wird diese unterhalb von classes vermutet.
Das Gleiche gilt bei der Angabe von JAR-Dateien:<applet code="Test" archive="1.jar,2.jar,3.jar" width="2" height="2">Zunächst wird die Klasse Test in 1.jar gesucht. Wird die Klasse dort nicht gefunden, wird 2.jar durchsucht usw.
Um die Abhängigkeiten flexibler zu gestalten, können zusätzlich benötigte Classpath-Einträge auch in einer JAR-Datei direkt angegeben werden. Hierzu muss der EintragClass-Path: x.jar, classes, imagesin die Manifest-Datei des entsprechenden JARs eintgetragen werden. Wird diese JAR-Datei dann geladen, werden die Einträge an den Classpath angehängt. Es ist hierbei zu beachten, dass die Einträge nur relativ zu dem JAR angegeben werden können.
Durch diese Vorgehensweise kann der Entwickler sein Programm in hierarchisch angelegten JAR-Dateien verteilen, die Modulen und Untermodulen entsprechen. Wird also ein neues Modul (JAR) geladen, werden die Untermodule erst geladen, wenn diese benötigt werden.