Ersetzen Sie den Inhalt einiger Methoden zur Laufzeit
Ich möchte den Inhalt einiger Methoden zur Laufzeit ersetzen.
Ich weiß, dass ich es gebrauchen kannJavassist hierfür funktioniert es aber nicht, da die klassen, die ich erweitern möchte, bereits vom system geladen sindclassLoader.
Wie kann ich tun, um den Inhalt einer Methode zur Laufzeit zu ersetzen? Soll ich versuchen, die Klasse zu entladen? Wie kann ich das machen ? Ich sah es war möglich, aber ich konnte nicht herausfinden, wie es geht.
Wenn möglich, möchte ich vermeiden, eine externe Bibliothek dafür zu verwenden, ich möchte es selbst codieren.
Mehr Informationen: - Die Klasse, die ich verbessern möchte, ist in einem Framework (in einer JAR-Datei) enthalten. - Mein Code ist eigentlich ein Plugin dieses Frameworks. - Das Framework, in dem mein Plugin ausgeführt wird, hat ein eigenesclassLoader, aber diesesclassLoader lädt keine eigenen Klassen (es delegiert sie an das Systemklassenladeprogramm) - Das Framework, das ich verwende, istabspielen.
Danke für deine Hilfe !