Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3016 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [ClassLoader][Cast] pb de cast - 2 ClassLoader différents

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ClassLoader][Cast] pb de cast - 2 ClassLoader différents

n°724492
squall36
PSN: JeanquiSquall
Posté le 13-05-2004 à 11:45:40  profilanswer
 

Bonjour,  
 
J'ai un pb de classcastexception du au chargement de mes classes par deux ClassLoader différents.  
 
Je construis une variable de type RefPackage et je veux la caster en un type IdsPackage (qui étend de RefPackage bien sûr). La construction se fait bien, l'objet retourné est bien de type IdsPackage.  
Code:  
 
s_LTGumlPackage = (IdsPackage) t_umlPackage;  
 
 
Le pb vient du fait que la classe de cette variable construite (t_umlPackage) est chargée par un ClassLoader Netbeans (gestion de mdr) la classe de la variable s_LTGumlPackage est chargée par un ClassLoader différent (plugin Poseidon que je développe dans ce cas).  
 
J'ai essayé de mettre dans le classpath le jar correspondant à ce plugin Poseidon, mais ça ne change rien.  
 
Je vois pas trop comment faire pour unifier tout ça  :??:

mood
Publicité
Posté le 13-05-2004 à 11:45:40  profilanswer
 

n°724550
benou
Posté le 13-05-2004 à 12:22:37  profilanswer
 

tu ne peux pas ...
 
il faut soit que tu unifies les classloader (faire que l'un soit fils de l'autre ...), soit que tu fasses de l'invocation dynamique ...
 
mais bon, c'est bizarre ton histoire de classloader différents. C'est très rare ce genre de problème et ca ne devrait pas se produire en principe. Le seul cas que j'ai rencontré c'était dans les serveurs d'applications avec les classloader dédiés à chaque web-app, mais dans un programme normal, logiquement tu ne dois pas être emmerdé avec ca ... faudrait peut être que tu revois le design de ton truc ...

n°724714
squall36
PSN: JeanquiSquall
Posté le 13-05-2004 à 14:23:44  profilanswer
 

à vrai dire, je comprends pas trop non plus comment je me retrouve avec 2 classloader...
 
le premier est en fait :

Code :
  1. org.netbeans.mdr.handlers.MDRClassLoader


 
et le second :

Code :
  1. org.argouml.util.pluginPoseidonModuleItem


avec en parent pour les deux sun.misc.Launcher (AppClassLoader)
 
 
En fait, sur des tests unitaires, tout se passe bien, c'est au moment de l'appli en tant que plugin que ça ne marche plus.
 
En plus, en mettant le jar correspondant au plugin dans le classpath, j'aurais pensé résoudre le pb, mais je comprends pas pourquoi rien a changé...
 
Il existe une méthode pour récupérer l'ensemble des classes chargées par un classLoader? histoire de voir ce que chacun d'entre eux contient...

n°724815
squall36
PSN: JeanquiSquall
Posté le 13-05-2004 à 15:30:15  profilanswer
 

bon, en fait je comprends pourquoi le classpath ne change rien :  
au lancement de Poseidon, il l'écrase pour mettre son bordel à lui...
 
Si je fais un setProperty("java.class.path", classPathPoseidon + monClassPath), je vois qu'il concatène bien les paths, mais est ce qu'il le recharge vraiment "dynamiquement"?

n°726731
benou
Posté le 15-05-2004 à 05:52:37  profilanswer
 

squall36 a écrit :

est ce qu'il le recharge vraiment "dynamiquement"?


non


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [ClassLoader][Cast] pb de cast - 2 ClassLoader différents

 

Sujets relatifs
[Access] Résultats différents suivant le PC utilisé...probleme pointeur void alors qu'un cast de char* marche :\
[Résolu] Pb de cast à partir d'un ObjectProblème de ClassLoader
Cherche WMI qui répértorie les différents ports de la Carte Mere[PHP][newbie] Génération aléatoire de nombres différents 2 à 2 ?
Différents moyens de sécuriser l'accès à un site ?[resolu]cast de composant graphique
les différents ASP[Réglé] Deux instructions similaires, deux résultats différents ?!!!
Plus de sujets relatifs à : [ClassLoader][Cast] pb de cast - 2 ClassLoader différents


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)