Bonjour,
J'ai une classe que j'appelle Client dans mon programme principal, grace à l'introspection, je souhaite récupérer toutes les méthodes de ma classe.
Lorsque je fais mon class.forName, il trouve pas la classe que je passe en parametre.
La classe que je passe en paramétre (Client) se trouve dans le même package que le programme principal.
j' obtiens comme exception:java.lang.ClassNotFoundException: Client
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)
at introspection.Introspection.main(Introspection.java:14)
Voici le codeJe vous remercie de votre aide
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 package introspection; public class Introspection { /** * @param args * @throws ClassNotFoundException */ public static void main(String[] args) throws ClassNotFoundException { // TODO Auto-generated method stub Class c=Class.forName("introspection.Client"); java.lang.reflect.Field[] f = c.getDeclaredFields(); for(int i=0;i<c.getDeclaredFields().length;i++){ System.err.println(c.getDeclaredFields()[i].getName()); } } }
Au niveau du classforName, j'ai modifié j'ai mis ceciMerci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part Class c=Class.forName("introspection.Client");
Partager