Eclipse : modifier et compiler le contenu d'un .jar

sof
Eclipse : modifier et compiler le contenu d'un .jar

Bonjour,

Je suis nouveau sur Eclipse et j'ai le problème suivant :

J'ai un .jar faisant partie d'un application que je veux modifier.

Comment est ce que je peux utiliser Eclipse afin de modifier le contenu du .jar et que celui ci soit pris en considération par l'appli. (modification et compilation)

D'avance merci pour toute aide !

A+
Sof.

fredericmazue

S'il n'y a pas les sources dans le jar la réponse est très simple:

Tu ne peux pas. En admettant même qu'essayer de le faire soit légal.
Enfin quand je dis que tu ne peux pas... si le byte-code n'est pas obfusqué, tu peux utiliser un outil de reverse-ingeneering (toujours en admettant que ça soit légal) mais le code produit va être tellement odieux qu'il sera sans doute plus simple de ré-écrire que de modifier :)

sof

fredericmazue wrote:
S'il n'y a pas les sources dans le jar la réponse est très simple:

Tu ne peux pas. En admettant même qu'essayer de le faire soit légal.
Enfin quand je dis que tu ne peux pas... si le byte-code n'est pas obfusqué, tu peux utiliser un outil de reverse-ingeneering (toujours en admettant que ça soit légal) mais le code produit va être tellement odieux qu'il sera sans doute plus simple de ré-écrire que de modifier :)

Merci fredericmazue pour ta reponse rapide.

Le jar contient des .class et des .java ! Je dois modifier certaines classes en fait.

...

fredericmazue

Quote:
des .java ! Je dois modifier certaines classes en fait.

Alors pas de problème.
Si tu as de la chance tu as aussi dans le jar un fichier de projet Netbeans ou Eclipse. Si oui tu charges le tout dans Netbeans ou Eclipse, tu fais tes modifs, tu reconstruis le projet et c'est réglé.
Sinon, tu crées un projet, tu y intègres tous les .java du jar, tu fais tes modifs, tu construis et tu demandes à Eclipse de t'exporter le jar.
En bref, si tu as les sources, refaire un jar est anodin. La seule difficulté est de comprendre les sources pour y apporter les modifs :)