Aktualisieren von .class -Datei in einem JAR löst eine Ausnahme aus
Frage
Ich versuche, ein Wikimedia -Plugin für OpenVMS zu portieren, und musste eine Klasse ändern. Ich versuche, die .class -Datei im Glas mithilfe zu aktualisieren jar uf jar-file .class-file
, Wenn ich dies jedoch tue, bekomme ich Folgendes:
java.util.zip.ZipException: duplicate entry: META-INF/LICENSE.txt
at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:175)
at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:90)
at sun.tools.jar.Main.update(Main.java:507)
at sun.tools.jar.Main.run(Main.java:184)
Es stellt sich heraus, dass es 2 lizenz.txtdateien im Glas gibt und ich kann sie nicht loswerden.
Irgendwelche Ideen, wie man die neue .class -Datei nur in das Glas bekommt oder wie man die doppelte Datei loswerden?
Lösung
Eine JAR-Datei ist nur ein Reißverschluss, also entpacken Sie das Glas und packen Sie es dann erneut ein. Oder öffnen Sie es mit einem graphischen Dienstprogramm für ZIP -Datei und entfernen Sie den doppelten Eintrag.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow