bonjour à tous et à toutes

j'essaye de charger toutes les classes que contient un jar..
voici mon code :
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import java.util.jar.*;
import java.util.zip.*;
import java.io.*;
import java.util.*;
 
class JarLoader extends ClassLoader {
 
    /* Attributs privés */
    private String jarName;
    private Hashtable<String, Integer> jarMap = new Hashtable<String, Integer>();
 
    /* Constructeur */
    public JarLoader(String name) {
        this.jarName = name;
    }
 
    public void makeEntryList() throws IOException {
        ZipFile zf = new ZipFile(jarName);
        Enumeration<? extends ZipEntry> e = zf.entries();
        ZipEntry ze;
 
        while (e.hasMoreElements()) {
            ze = e.nextElement();
            jarMap.put(ze.getName(), (int)ze.getSize());
        }
    }
 
    public void loadClasses() throws IOException, ClassNotFoundException {
		JarInputStream jis = null;
        try {
	        jis = new JarInputStream(new FileInputStream(jarName));
	        Enumeration<String> keys = jarMap.keys();
	        while (keys.hasMoreElements()) {
	            String entry = keys.nextElement();
	            // s'il ne s'agit pas d'une classe java, on passe
	            if (entry.endsWith(".class") == false) {
	                jis.skip(jarMap.get(entry));
	            }
	            else {
	                // il s'agit d'une classe java : on récupère son ByteCode
	                String className = entry.substring(0, entry.indexOf(".")).replace("/", ".");
	                int classSize = jarMap.get(entry);
	                byte byteCode[] = new byte[classSize];
	                jis.read(byteCode, 0, classSize);
	                defineClass(className, byteCode, 0, classSize);
	                loadClass(className);
	            }
	        }
        }
        finally {
        	jis.close();
        }
    }
 
    public static void main(String[] args) throws Exception {
        JarLoader jarLoader = new JarLoader("leJar.jar");
        jarLoader.makeEntryList();
        jarLoader.loadClasses();
 
        Class.forName("classexplorer.Fenetre");
    }
}
le problème c'est que j'obtiens toujours cette exception :
Exception in thread "main" java.lang.ClassFormatError: Incompatible magic value 0 in class file classexplorer/Main
(Main est la dernière classe qui se trouve dans le jar)

Merci d'avance..