Wie aktualisiere ich eine Datei in einem Jar, ohne das ganze Jar neu zu verpacken?

8

Ich habe eine .jar-Datei namens myfile.jar. In dieser JAR-Datei befindet sich ein Ordner namens images. In diesem Ordner namens images habe ich ein Bild namens hi.png. Ich möchte dieses Bild mit einer neuen Version dieses Bildes aktualisieren, die auch hi.png heißt. Ich möchte nicht alle Dateien aus der einzelnen JAR-Datei extrahieren und sie dann neu packen, ich möchte nur das Bild aktualisieren. Also gehe ich wie gewöhnlich in die Befehlszeile, tippe ein paar Zeilen Code und mache dann diesen Befehl:

%Vor%

Was ich mit diesem Befehl zu tun hoffte, war, das alte hi.png durch das neue hi.png zu ersetzen. Aber es gibt mir diesen Fehler:

%Vor%

Was kann ich tun, um das Problem zu beheben?

Zusätzliche Information: Ich kann etwas wie WinRAR nicht verwenden, ich muss dies mit der Befehlszeile tun.

    
Bobby C 11.12.2011, 01:49
quelle

4 Antworten

21

-C ändert das lokale Verzeichnis und sucht dort nach hi.png . Es wird nicht gesteuert, wo Sie es in die JAR-Datei injizieren möchten.

Ich würde versuchen, ein neues Verzeichnis mit dem Namen images zu erstellen, indem du dein lokales hi.png in dieses Verzeichnis verschiebst und images zu einem untergeordneten Verzeichnis deines aktuellen Arbeitsverzeichnisses machst, dann führe einfach folgendes aus:

%Vor%     
ziesemer 11.12.2011, 01:54
quelle
5

Der einfachste Weg ist die Verwendung der 7-zip -Software. Für

  1. Bearbeiten einer Datei:

    • Öffnen Sie die JAR-Datei 7-zip | Archiv öffnen
    • gehe zur Datei z. /Meta-Inf/xyz.conf
    • Klicken Sie mit der rechten Maustaste und wählen Sie die Option " öffnen in "
    • Bearbeiten Sie die Datei und speichern Sie die Datei
    • schließe die 7-Zip-Konsole und es ist fertig.
  2. Zum Hinzufügen / Ersetzen / Entfernen einer Datei.

    • Folgen Sie den ersten beiden Schritten, bis Sie den gewünschten Ordner erreicht haben.
    • Entfernen : Löschen Sie die Datei
    • Hinzufügen Ziehen Sie die Datei per Drag & Drop auf die 7-zip-Konsole.
    • schließe die Konsole und es ist fertig.
iankits 19.07.2016 12:47
quelle
2

Wenn Sie eine Textdatei bearbeiten wollten, hätten Sie dies direkt mit vim tun können.

(Angenommen, Sie haben unzip verfügbar, z. B. yum install -y unzip auf CentOS)

vim my.jar

    
Jose Alban 02.09.2015 12:39
quelle
1

Sie können jar -uf sample.jar [path in jar file]target-file

verwenden     
alireza alallah 18.03.2017 05:44
quelle

Tags und Links