|
Reflection
Wenn die Option -d angegeben ist, durchsucht Autojar den Bytecode nach Aufrufen
von Class.forName(name) . Für jede Fundstelle wird eine
Meldung ausgegeben. Ist der Klassenname name im Bytecode
als Konstante (Stringliteral) abgelegt, kennt Autojar die zu ladende Klasse;
die Meldung lautet dann z.B.
Wurde die Option -a angegeben (impliziert -d), versucht Autojar,
diese Klasse so einzubinden wie eine statisch referenzierte. Falls das gelingt,
sieht die Meldung so aus:
Ist name kein Literal, sondern eine Referenz, lässt
sich nicht feststellen, um welche Klasse es sich handelt. Solche Aufrufe werden
am Ende des Programmlaufs in einer getrennten Liste protokolliert. Beispiel:
Das resultierende Archiv ist dann möglicherweise unvollständig und seine Benutzung kann zu ClassNotFound - Exceptions führen; dies allerdings
nur, wenn die entsprechenden Class.forName() - Aufrufe auch
tatsächlich ausgeführt werden.
Aufrufe von |