Bonjour,

Je rencontre un pb de chargement de class en utilisant la reflection dans un cas precis, je m'explique :
- je dispose d'un programme qui doit utiliser des class du genre plugin extern
- sous eclipse (le prog est en cour de developpement) si j'ajoute une class a mon projet et que je compile le tout, le mecanisme de reflection fonctionne parfaitement.

donc jusqu'la pas de soucis.

puis

si je génére une archive JAR de mon programme(sous eclipse) et que j'essai de le lancer avec une class plugin non créé sous eclipse et donc ne faisant pas parti du JAR j'ai l'erreur suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
java.lang.ClassNotFoundException: maclassplugin
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)

a premiere vu se serait cette ligne qui me déclanche l'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Class classe = Class.forName(maclassplugin);

ma class "maclassplugin" ressemble a :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
public class maclassplugin{
 
static int toto;
 
 
public static int Traitement() 
{
   ...
   ...
    return toto;
}
 
 
}
du coup je ne vois pas trop comment faire pour que ma class (que je recupere ) soit connu de mon appli, si qq'un à déja rencontré ce genre de Pb, je suis preneur de toutes pistes qui me permettrais d'avancer.

Merci

Sébastien