Bonjour,
Mon prof de licence nous à montrer et donner un code pour nous donner un exemple de la réflexion que je n'arrive pas à refaire fonctionner (malgré ma réflexion, haha )
Dans un même dossier j'ai :
Test.class
Test.java
TestReflexion.java
Voici le contenu de mon fichier TestReflexion.java :
Et voici ce qu'on me retourne :
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 package testreflexion; import java.lang.reflect.*; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author Leinox */ public class TestReflexion { private Class<?> cl; private Method[] lesM; public TestReflexion(String className) { try { cl = Class.forName(className); } catch (ClassNotFoundException ex) { Logger.getLogger(TestReflexion.class.getName()).log(Level.SEVERE, null, ex); } } /** * @param args the command line arguments */ public static void main(String[] args) { System.out.println(args[0]); // TestReflexion testReflexion = new TestReflexion(args[0]); TestReflexion testReflexion = new TestReflexion("Test"); } }
Je ne comprend pas. Comment indiquer à Class.forName l'endroit où chercher ma classe Test ? Pouvez vous m'aider svp ?
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 run: Test mars 08, 2015 9:57:01 PM testreflexion.TestReflexion <init> GRAVE: null java.lang.ClassNotFoundException: Test at java.net.URLClassLoader$1.run(URLClassLoader.java:372) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:259) at testreflexion.TestReflexion.<init>(TestReflexion.java:18) at testreflexion.TestReflexion.main(TestReflexion.java:30)
Partager