2010-02-02 2 views
6

Ich habe eine JAR-Datei, die in HTML-Datei als Applet verwendet wird. Ich möchte den Inhalt der JAR-Datei ändern und die JAR-Datei neu erstellen, so dass der HTML-Code mit der neuen JAR-Datei funktioniert. Wie kann ich das machen??Ändern einer JAR-Datei

Ich habe bereits versucht, entpacken mit 7zip nad modifiziert die Quelle und erstellt das neue Glas. Aber wenn ich es in HTML benutze, zeigt es einige java.lang.Classnotfound Fehler

+0

Was meinen Sie mit "Inhalt ändern"? Sprechen Sie über den Code oder über Ressourcen (Bilder usw.) im Jar? –

+0

Wenn Ihre Antwort zu @mmyers Kommentar ja ist, dann Winrar FTW ............... –

Antwort

0

JAR-Dateien sind ZIP-Dateien nur, verwenden, was Nutzen Sie mögen und bearbeiten weg!

1

Haftungsausschluss: Wenn Sie Code zurückentwickeln, vergewissern Sie sich, dass Sie sich innerhalb der gesetzlichen Grenzen bewegen und die Lizenz dieses Codes einhalten.

Befolgen Sie die Anweisungen oben, um das JAR auszupacken.

Finden Sie die ursprüngliche Quelle der JAR (vielleicht ist es auf SourceForge) und laden Sie die Quelle, ändern Sie die Quelle, und erstellen Sie Ihre eigene JAR.

Sie können die Klassendateien auch im JAR dekompilieren. Dies ist ein ziemlich fortgeschrittener Prozess und hat viele "gotchas".

2

Nehmen Sie die Änderungen im Code (.java-Dateien) vor, kompilieren Sie sie erneut, um die .class-Dateien zu erhalten. Ersetzen Sie dann einfach die alten .class-Dateien im Jar durch die neuen. Ich verwende normalerweise WinZip, aber Sie können jede App verwenden, die .Zip-Dateien verarbeiten kann. Es sollte einfach funktionieren.

Ich habe Fälle konfrontiert, in denen der Launcher der App eine Art Verifizierung verwendet und nach solchen Änderungen sucht. Ich musste ein neues Startskript verwenden. Dies scheint jedoch nicht dein Fall zu sein.

1

Dies ist sicherlich über die Befehlszeile möglich. Verwenden Sie die u Option für jar

aus den Java-Tutorials:

jar uf jar-file input-file(s) 

„Alle Dateien bereits im Archiv den gleichen Pfad wie eine Datei mit überschrieben werden hinzugefügt.“

Siehe Updating a JAR File

Ein kurzer Test zeigt dies schnell aktualisiert Änderungen abgesehen von dem Versuch, die Datei zu löschen.

Ich habe diese Antwort nicht in anderen Threads über das Ändern von JAR-Dateien gesehen, und viele, die als Duplikate gekennzeichnet sind, schlagen vor, dass es keine Alternative gibt, als das Glas vollständig neu zu erstellen. Bitte korrigieren, wenn falsch.