Bonjour tout le monde !!!
Je suis bloqué sur l'implémentation d'un chargeur de classe (Class loader) perso !!! je veux selement charger pas moi même une class de type hello word et je n'y arrive pas vraiment![]()
Voici mon code source (je travail sur eclipse)
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
34 import java.io.*; public class exemple2 extends ClassLoader { private static byte[] getBytes() {byte raw[]=null; try{ String name=System.getProperty("user.dir") + "\\test.class"; File file = new File( name ); FileInputStream fin = new FileInputStream(file); long len = file.length(); raw = new byte[(int)len]; int r=fin.read( raw ); if (r != len)System.out.println("erreur de longeur"); fin.close(); return raw; } catch(IOException ioe){System.out.println("erreur : " + ioe);} return raw; } public Class loadClass(String k)throws NoClassDefFoundError {Class clas = null; byte raw[] = null; raw=getBytes(); String name=System.getProperty("user.dir") + "\\test.class"; clas = defineClass( name, raw, 0, raw.length ); return clas; } }
et ca me fait tous pleins d'erreurs =) qui ressemblent à ca !!!
c'est dans le defineClass que ca cloche mais je ne c pas pkoi???Exception in thread "main" java.lang.NoClassDefFoundError: c:\Workspace\MonClassLoader\test/class (wrong name: test/class)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at exemple2.loadClass(exemple2.java:36)
at TestSecurity.main(TestSecurity.java:8)
Si quelqun a deja fait ca ou si il connait la solution bin kil se manifeste =)
a+
Partager