Der Grund dafür ist, dass die JAR-Datei wie eine Zip-Datei eingerichtet ist. Wenn Sie die Datei ändern möchten, müssen Sie alle Einträge auslesen, den zu ändernden ändern und die Einträge dann zurück in die JAR-Datei schreiben. Ich musste das schon einmal machen, und das war der einzige Weg, den ich finden konnte, um es zu tun.
BEARBEITEN
Beachten Sie, dass hierfür die internen Java-JAR-Dateibearbeitungsprogramme verwendet werden, bei denen es sich um Dateistreams handelt. Ich bin mir sicher, dass es eine Möglichkeit gibt, das gesamte Glas in den Speicher einzulesen, alles zu ändern und dann wieder in einen Dateistream zu schreiben. Ich glaube, dass Dienstprogramme wie 7-Zip und andere dies tun, da ich glaube, dass die ToC eines Zip-Headers zum Zeitpunkt des Schreibens definiert werden muss. Ich könnte mich jedoch irren.