Ich habe neue Module für in Java geschriebene Software erstellt. Diese Software wird von JAR-Datei ausgeführt. Meine Klassen erweitern die Klassen in dieser Software. Ich möchte ein Plugin schreiben, das der JAR-Datei neue Klassen hinzufügt. Ich weiß, wie man eine JAR-Datei in das Verzeichnis extrahiert und sie mit dem Paket java.util.jar zur jar-Datei hinzufügt. Da es aber viele Dateien aus der Datei zu extrahieren gibt, ist es möglich, neue Klassen hinzuzufügen, ohne die Dateien zu extrahieren in den Ordner, irgendwie direkt.
Ermöglicht das Hinzufügen neuer Dateien / Aktualisieren vorhandener Dateien in jar ohne Extrahieren.
Ihre Frage gibt an, dass Sie dies programmgesteuert durchführen möchten, nicht über die Befehlszeile jar
tool.
Aus den Dokumenten geht hervor, dass Sie mindestens eine JarInputStream
von einer vorhandenen JarFile
, iterieren Sie die Einträge mit getNextJarEntry
, und schreiben Sie an eine JarOutputStream
mit den Einträgen, auch eigene neue Dateien mit neuen % co_de hinzufügen % Objekte für jede neue Datei.
Hier ist Beispielcode zum Schreiben eines Jar von Grund auf programmatisch, dies sollte Die Unterschiede bestehen darin, dass die meisten JarEntry
-Objekte von JarEntry
kommen.