Automatisches Erzeugen von Java-Archiven
AllgemeinesKommandozeilenversionEclipse-Plugin
Bernd Eggink, monoped@users.sourceforge.net Projektseite: SourceForge.net
Dateiparameter
Nach den Optionen kann eine beliebige Anzahl von Datei- oder Verzeichnispfaden angegeben werden. Was im Einzelnen geschieht, hängt vom Dateityp ab. Möglich sind Klassenangaben, Dateien, Verzeichnisse, Musterausdrücke sowie spezielle Parameter (Pseudo-Optionen).

Grundsätzlich wird eine Datei nur in das Zielarchiv übernommen, wenn sie noch nicht darin enthalten ist; die Reihenfolge der Parameter ist also relevant.

  • Klassen: Die Angabe von Klassen erfolgt in der Form klassenname.class, wobei klassenname der vollständige Klassenname ist. Der Classpath wird nach der Klassendatei durchsucht. Wurde sie gefunden, kopiert Autojar sie in das Zielarchiv, untersucht dann den Bytecode rekursiv nach weiteren verwendeten Klassen und übernimmt diese ggf. ebenfalls. Klassen aus der Java-Runtimebibliothek werden nicht in das Archiv aufgenommen.

    Die letzte Komponente des Klassennamens kann Musterzeichen * und ? enthalten. In diesem Fall werden alle Klassen gesucht und eingefügt, die dem Muster entsprechen. So übernimmt z.B. a.b.*.class alle Klassen aus dem Package a.b.

    Ein Muster der Form **.class bewirkt eine rekursive Kopie. Beispiel: Mit dem Parameter a.b.**.class erreicht man, dass alle Klassen des Packages a.b und alle Klassen in dessen Unterpackages (a.b.x, a.b.x.y, a.b.z usw.) übernommen werden.

  • .jar- und .war - Dateien: Alle in dem Archiv enthaltenen Dateien werden in das Zielarchiv eingefügt, mit Ausnahme des "META-INF"-Verzeichnisses. Klassendateien werden nach anderen verwendeteten Klassen durchsucht wie oben beschrieben.
  • .zip - Dateien: Wie .jar-Dateien, jedoch werden Klassendateien nicht speziell behandelt.
  • Andere Dateien: Bezeichnet der Pfad eine existierende Datei, wird diese ins Archiv übernommen. Wenn die Datei nicht existiert, der Pfad relativ ist und ein Suchpfad für Nicht-Klassen-Dateien angegeben wurde (Option -p oder -b), wird die Datei über den Pfad gesucht und ggf. an das Archiv angehängt. Wie bei Klassendateien kann die letzte Pfadkomponente Musterzeichen enthalten. Wenn die letzte Komponente ** lautet (z.B. a/b/**), wird das entsprechende Verzeichnis (a/b) gesucht und rekursiv, mit allen Dateien und Unterverzeichnissen, in das Zielrchiv kopiert.
    Man beachte, dass es normalerweise nicht sinnvoll ist, Klassendateien mit einem absoluten Dateipfad anzugeben. Autojar würde sie wie normale Dateien behandeln, also ohne den Bytecode nach referenzierten Klassen zu durchsuchen.
  • Verzeichnisse: Verzeichnisse werden rekursiv mit allen Dateien und Unterverzeichnissen angehängt, ausgenommen solche, deren Namen einem mit -X angegebenen Muster entsprechen (siehe Spezielle Parameter). Alle Dateien, auch Klassendateien, werden als normale Dateien betrachtet.
up
Created 2011-05-10 by mopcoge