IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

recharger dynamiquement une classe


Sujet :

Java

  1. #1
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut recharger dynamiquement une classe
    Salut à tous !
    Est-il possible de recharger une classe implementant une interface et ceci lorsque l'application tourne ? Si oui, je me demande comment ça se passe lorsque les classes de l'application on été obfusquées : faudra t-il obfusquer de la même manière la nouvelle classe ?
    Merci

  2. #2
    Membre actif Avatar de Betatesteur
    Inscrit en
    Juillet 2003
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 210
    Points : 248
    Points
    248
    Par défaut
    tu veux dire quoi par
    lorsque les classes de l'application on été obfusquées
    ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 352
    Points : 445
    Points
    445
    Par défaut
    Oui c'est possible, à condition de charger cette classe avec un Classloader différent de celui de l'application. Le mieux dans ce cas est de charger la classe /package à partir d'un URLClassLoader, que tu réinstancies lorsque tu veux recharger ta classe.

    Si c'est toi qui fait l'offuscation de ta librairie il est possible de définir des patterns afin de ne pas changer le nom des méthodes publiques, ce qui permet d'éviter de changer leur nom et donc d'utiliser l'interface "en clair" dans le code appelant. Si ce n'est pas toi qui fait l'offuscation et que tu n'as aucun moyen de la faire changer (librairie tierce), il te faut utiliser alors l'interface offusquée et donc les méthodes modifiées

    Jacques Desmazières

  4. #4
    Membre actif Avatar de Betatesteur
    Inscrit en
    Juillet 2003
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 210
    Points : 248
    Points
    248
    Par défaut
    attention qd même à la notion de délégation utilisée par
    l'architecture des classloaders introduite dans Java 2.

    @++

  5. #5
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    merci Jacques !
    Il doit certainement exister des obfuscateurs qui permettent de ne pas brouiller certains noms.
    Par contre je crois que je n''ai meme plus besoin de faire face au problème puisque j'ai lu que l'obfuscation posait des problèmes à certains api comme la reflection... .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/07/2007, 22h10
  2. Réponses: 4
    Dernier message: 15/06/2007, 15h08
  3. Modifier dynamiquement une classe CSS
    Par systemofaxav dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/06/2006, 16h49
  4. est il possible de créer dynamiquement une class ???
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 12/07/2005, 16h22
  5. [MFC] Créer dynamiquement une classe
    Par vanitom dans le forum MFC
    Réponses: 9
    Dernier message: 11/12/2004, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo