Forcer le chargement des classes JAVA d'une applet

Forcer le chargement des classes JAVA d'une applet - Java - Programmation

Marsh Posté le 09-08-2002 à 10:56:13    

Salut,
  je rencontre un problème de conflit de classes java lors du chargement d'une applet. Le poste utilise un logiciel qui préconise de spécifier une variable d'environnement CLASSPATH pour leur fichier jar. ce n'est pas propre et c'est ce qui me pose problème mais je dois faire avec.
Dans le fichier JAR du CLASSPATH et dans le miens, nous utilisons des classes SUN de même nom mais qui ne sont pas de même version, du coup ==> l'applet plante.
Je souhaiterai forcer au niveau des classes JAVA de mon applet le chargement des classes du fichier JAR référencé par ma page HTML pour ne pas utiliser les classes JAVA du fichier pointé par le CLASSPATH. Il semble qu'il y ai une possibilité en utilisant la notion de "ClassLoader" mais je ne l'ai jamais utilisé.
 
Avez vous des exemples ou une documentation sur laquelle je pourrai me baser ?
Avez vous des idées sur ce ptit blem ? (biensur, je ne peux pas modifier le CLASSPATH) !
 
Merci,
pascal.

Reply

Marsh Posté le 09-08-2002 à 10:56:13   

Reply

Marsh Posté le 09-08-2002 à 11:04:49    

[:blueflag]


Message édité par --greg-- le 09-08-2002 à 11:04:57
Reply

Marsh Posté le 09-08-2002 à 11:31:00    

--greg-- a écrit a écrit :

[:blueflag]




mais t'arrêtes d'en fouter partout, oui !!! :D

Reply

Marsh Posté le 09-08-2002 à 11:31:33    

I was here  [:yaisse2]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 09-08-2002 à 11:32:54    

benou a écrit a écrit :

 
mais t'arrêtes d'en fouter partout, oui !!! :D



bah cé interessant son problème non? jsuis en mode mono-neuronal là moi

Reply

Marsh Posté le 09-08-2002 à 11:37:16    

oui c'est très intéressant ! d'autant lpus que je ne connais pas bien le ClassLoader. En fait, mon post était un blueflag camouflé ! ;)

Reply

Marsh Posté le 09-08-2002 à 11:37:32    

merci pour vos idées !!
excellentes mais elle ne marchent pas. aucune autres ?

Reply

Marsh Posté le 09-08-2002 à 11:38:33    

pascalou3 a écrit a écrit :

merci pour vos idées !!
excellentes mais elle ne marchent pas. aucune autres ?




par contre ce genre de réaction j'aprécie pas du tout ... [:sacplastic]


Message édité par benou le 09-08-2002 à 11:38:40
Reply

Marsh Posté le 09-08-2002 à 11:38:40    

pascalou3 a écrit a écrit :

merci pour vos idées !!
excellentes mais elle ne marchent pas. aucune autres ?
 



quelles idées? :D

Reply

Marsh Posté le 09-08-2002 à 11:39:07    

bin t'as déployé ton applet comme un bourrin c'est tout. Tu ne dois pas avoir de conflits de classes.  
 
En d'autres termes tu ne dois pas avoir de classes SUN dans le Jar de ton applet


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 09-08-2002 à 11:39:07   

Reply

Marsh Posté le 09-08-2002 à 11:39:53    

DarkLord a écrit a écrit :

bin t'as déployé ton applet comme un bourrin c'est tout. Tu ne dois pas avoir de conflits de classes.  
 
En d'autres termes tu ne dois pas avoir de classes SUN dans le Jar de ton applet



et s'il en a besoin pour son applet, comment il fait :??:

Reply

Marsh Posté le 09-08-2002 à 11:58:11    

bin ses clients doivent installer un JRE avec la bonne version ...
 
Réfléchis trentes secondes. Tu as les classes d'une certaine version de Java et la JVM qui va avec ...
 
Alors des classes sun 1.4 sur une JVM 1.1 je te dis pas le résultat  :sarcastic:


Message édité par darklord le 09-08-2002 à 11:58:41

---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 09-08-2002 à 11:59:58    

je pense qu'il parlait de classe de sun.*,  pas de la jre/jdk..

Reply

Marsh Posté le 09-08-2002 à 12:03:09    

effectivement.
de plus, je n'utilise aucun JRE, a part celui intégré à IE.
et on peut charger des applets de différentes versions.
 
La réponse rapide :
Shoot le classpath !!!
mais je ne peux pas.

Reply

Marsh Posté le 09-08-2002 à 12:06:57    

c'est quelle classe qui pose problème?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 09-08-2002 à 12:19:16    

javax.xml.parsers !
l'applet lit un flux XML (un bohneur, l'xml).

Reply

Marsh Posté le 09-08-2002 à 16:08:39    

tu fais du parsing XML à l'intérieur d'une applet ???

Reply

Marsh Posté le 09-08-2002 à 16:17:22    

y a un parseur super leger en GPL sur sourceforge ... C'est fais spécialement pour les applets.


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 09-08-2002 à 16:21:24    

mais ça repond pas à la question :(
 
(edit: si le client à cette api dans son classpath [on sait jamais], mais dans une autre version, le pb sera le meme)


Message édité par --greg-- le 09-08-2002 à 16:21:57
Reply

Marsh Posté le 09-08-2002 à 21:22:12    

pascalou3 a écrit a écrit :

Salut,
  je rencontre un problème de conflit de classes java lors du chargement d'une applet. Le poste utilise un logiciel qui préconise de spécifier une variable d'environnement CLASSPATH pour leur fichier jar. ce n'est pas propre et c'est ce qui me pose problème mais je dois faire avec.
Dans le fichier JAR du CLASSPATH et dans le miens, nous utilisons des classes SUN de même nom mais qui ne sont pas de même version, du coup ==> l'applet plante.
Je souhaiterai forcer au niveau des classes JAVA de mon applet le chargement des classes du fichier JAR référencé par ma page HTML pour ne pas utiliser les classes JAVA du fichier pointé par le CLASSPATH. Il semble qu'il y ai une possibilité en utilisant la notion de "ClassLoader" mais je ne l'ai jamais utilisé.
 
Avez vous des exemples ou une documentation sur laquelle je pourrai me baser ?
Avez vous des idées sur ce ptit blem ? (biensur, je ne peux pas modifier le CLASSPATH) !
 
Merci,
pascal.




 
Dans ton cas, tu dois utiliser le ClassLoader sans le faire heriter du ClassLoader courant (sinon il va continuer de charger d'abord les autres classes) (ou alors en le faisant heriter mais en changeant l'ordre de recherche ce qui risque d'impacter les perfs et la stabilite' (pas conseille';)).  
Ensuite tu fais un Network ClassLoader qui va recuperer ton jar (seulement avec to package xml) sur ton serveur (donc 2 jars (1 pour l'appli, 1 pour l'xml)), rechercher les classes dedans (extraire un byte[] par classe en dezippant) puis les loader...
 
Si tu te lance la dedans, je peux te filer un coup de main, mais bonjour...
 
Est-ce que tu peux attaquer le pb differemment:
ton appli pourrait fonctionner avec differentes versions de ton parser xml, et au debut tu testes la verison ? (evidemment s'il y a 2398087 versions possibles, c'est le bordel)
 
Renaud

Reply

Marsh Posté le 13-08-2002 à 16:34:23    

merci renaud.  
je vais essayer de faire ce que tu as dit mais je ne suis pas un pro de java donc je risque d'y mettre le temps.
Je reviendrai vers toi si je n'y arrive pas !!
 
-)
pascal.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed