J'ai donc une bibliothèque tierce, qui est un fichier .jar. Il y a des classes dans ce bocal. Le problème est qu'il y a un bogue dans une classe dans ce fichier .jar. Je le sais parce que je peux décompiler le fichier jar, pour regarder le code Java, ce dont je suis presque sûr, cette classe est la source de mon bogue de programme.
L'idée est que je supprime la classe et la remplace par ma propre classe, mais je ne sais pas comment.
Il y a plusieurs façons de le faire:
Essayez d'utiliser winrar. Vous pouvez y ouvrir votre jar, explorer le répertoire contenant le fichier de classe. Vous pouvez supprimer et ajouter des fichiers de classe.
Si vous ne souhaitez pas utiliser winrar, procédez comme suit:
Extraire le pot en utilisant cette commande
jar -xvf yourjar.jar
Il va exploser le pot. Supprimer l'ancien fichier de classe et ajouter votre fichier de classe mis à jour
Recréez le jar en utilisant la commande suivante
jar -cvf yourjar.jar directoryofexploderjar /
Classe d'extension et méthode de réécriture supprimant un bogue
Utilisez JDEC pour décompiler et remplacer class ( http://jdec.sourceforge.net/ )
Ecrivez votre propre classe dans le même package que celui d'origine, assurez-vous que vos classes sont avant le fichier jar tiers sur le chemin de classes Java. De cette façon, vous allez remplacer la version d'origine, le chargeur de classes chargera votre classe.