Bonjour à tous,
J'essaie de créer une instance d'une classe qui n'est pas dans le classpath, chargée avec URLClassLoader, et d'utiliser ses méthodes.
Mais j'ai une erreur que je n'arrive pas à corriger. J'ai essayé de chercher sur internet mais sans résultat ! C'est un domaine qui est encore nouveau pour moi, alors désolé si l'erreur est évidente
j'ai ma classe test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public static void main(String[] args) { try { URL[] urls = new URL[1]; urls[0] = new File("D:\\JavaWorspace\\test").toURI().toURL(); URLClassLoader classloader = new URLClassLoader(urls); Class c=classloader.loadClass("test"); truc t=(truc) c.newInstance(); System.out.println(t.getNumber()); } catch (Exception e) { e.printStackTrace(); } }
et l'interface truc:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public class test implements truc{ public int getNumber(){ return 2; } }
et j'obtiens toujours comme erreur (la ligne 15 c'est la 8ème sur le code en haut)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public interface truc { public int getNumber(); }
j'ai cherché à quoi cela correspondait, mais je n'ai pas trouvé encore. Vous pouvez m'éclairer?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 java.lang.ClassCastException: test cannot be cast to truc at Main.main(Main.java:15)
merci !!
Partager