En fait la m�thode loadClass de mon ClassLoader cr�e dynamiquement une classe Java (via BCEL) et l'�crit dans un fichier avec la m�thode dump(). Ce que je faisait, c'est que la classe renvoy�e par la m�thode loadClass �tait celle lu � partir de ce fichier .class nouvellement cr��, donc par : Class.forName... Et l� ca plante, il n'utilise pas mon ClassLoader ensuite pour charger les autres classes. Mais si pour obtenir ma classe � renvoyer j'utilise la m�thode define(), � partir de ce moment le syst�me connait ma classe et utilisera pour les autres classes mon classloader... bref... Il faut cependant que je trouve un moyen pour qu'il utilise mon classloader m�me si je lis � partir du fichier .class la def de la classe... peut �tre que je peux convertir en tableau de byte le fichier .class puis faire ensuite un define()... bref je vais chercher.
Merci de ton aide!
A+
Nicolas Delsaux wrote:
On Tue, 10 Jun 2003 17:43:57 +0200, Bruno Marquie <[EMAIL PROTECTED]> wrote:
je viens de le faire : il utilise le classloader systeme pour charger mes autres classes, mais apr�s l'invocation de la m�thode main de ma classe principale, qui elle a �t� charg�e avec mon classloader. Pas avant malheureusement.Il y a, je crois, une ruse � mettre en oeuvre pour �viter ce comportement. En effet, les ClassLoaders Java2 sont th�oriquement pr�vus pour augmenter les capacit�s de recherche de classes de Java, et non pour les remplacer par d'autres. Donc, si ton ClassLoader charge la classe de mani�re standard, c'est-�-dire en d�l�guant un de ses appels au CL syst�me, tu es perdu, car il se peut que la d�finition de ton main entra�ne celles des classes de ton packagfe. Pour �viter �a, tu dois te taper tout le boulot toi-m�me et faire en sorte que pour chaque nom de classe, ton ClassLoader retourne directement le tableau de byte utilisable. Il doit y avoir un peu de litt�rature l�-dessus sur Javaworld. Et en plus, elle doit s�rement �tre index�e sur Java-channel.
Par exemple, http://pharos.inria.fr/Java/query.jsp?cids=c_2061&hist=text%3Dclassloader%26x%3D0%26y%3D0
_____________________________________________________________________ Envie de discuter en "live" avec vos amis ? T�l�charger MSN Messenger http://www.ifrance.com/_reloc/m la 1�re messagerie instantan�e de France
