Bonjour tout le monde,

Je suis en train de concevoir une application et j'aimerais y intégrer un système de plugin et j'ai même regardé le tuto : http://vincentlaine.developpez.com/t.../java/plugins/

Je vous explique maintenant le problème.
J'ai donc fait une interface InterfacePlugin.class

Ensuite j'ai fait un test en créant une class TestPlugin.class dans le dossier /plugin et qui implémente bien sur mon interface.
Je vous montre mon code et ensuite les erreurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
File f=new File("plugin/TestPlugin.class");                              
            URL[] u=new URL[]{f.toURL()};
            URLClassLoader loader=new URLClassLoader(u);            
            Class tempClass=Class.forName("plugin.TestPlugin",true,loader);
            InterfacePlugin essai=(InterfacePlugin)tempClass.newInstance();
            System.out.println(essai.toString());
et voici ce que m'affiche le terminal comme erreur :
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
16
17
Exception in thread "main" java.lang.NoClassDefFoundError: plugin/TestPlugin (wrong name: TestPlugin)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:247)
	at Jvideotheque.main(Jvideotheque.java:23)
Si quelqu'un a une idée.
Merci