Methode einer kompilierten .jar überschreiben

SkonroX

Aktives Mitglied
hey..

frage: Wie kann man eine Methode aus einer fertig kompilierten .jar überschreiben?
Ich weiß nur das man die main methode laden kann via einem classloader über eine url zur datei, aber wie kann man nun die methode überschreiben, einfach main ausführen und die methode (gleich benennen)?

lg
 
Du kannst einfach eine Klasse von jener ableiten, die Methode(n) überschreiben und in deinem Code die abgeleitete(n) Klasse(n) verwenden. Da musst du nichts entpacken und neu packen.
 
Was hast du vor?
Wenn du sie als Lib verwenden willst: Im Classpath einbinden, von der Klasse erben, sie überschreiben und nur die Sub verwenden.
Wenn nicht gilt wieder die ursprüngliche Frage.
 
@ faetzminator: wie geht das?
@ Volvagia: Ich möchte eine fertige, lauffähige .jar einfach nur mit einer neuen Methode ausstatten^^
@ Asgar13: Ich wollte am liebsten die .jar unversehrt lassen

lg
 
@ Volvagia: Ich möchte eine fertige, lauffähige .jar einfach nur mit einer neuen Methode ausstatten^^
@ Asgar13: Ich wollte am liebsten die .jar unversehrt lassen
Das widerspricht sich wohl ein bisschen. Klassen mit neuen Methoden ausstatten (ursprünglich gemeint war doch bestehende Methoden ändern?) das jar aber unversehrt lassen ;-)

jar bzw. die Klassen im jar dekompilieren. Die gewünschten Methoden in den betroffenen Klassen ändern. Neu kompilieren und wieder ins jar packen.
 
Wieso nicht ein zweites Jar als "Wrapper"? Dieses muss lediglich die Methode überschreiben und diese irgendwie dem anderen Jar bekannt machen - wie man das genau macht kommt sehr auf den Anwendungsfall an.
 

Neue Themen


Zurück
Oben