Bonjour tout le monde!
J'ai crée un programme qui parse un fichier XML.
Je développe avec eclipse 3.0.2 et mon avec jdk-1.4.2_09.
Quand je fais tourner mon programme avec eclipse...ça roule!
Ensuite je crée un jar (avec fat_jar) et quand j'éxécute mon jar dans un terminal j'ai l'erreur suivante:
java.lang.ClassFormatError: org/apache/xerces/impl/XMLDTDScannerImpl (Illegal constant pool index)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:1618)
at java.lang.Class.getConstructor0(Class.java:1930)
at java.lang.Class.newInstance0(Class.java:278)
at java.lang.Class.newInstance(Class.java:261)
at org.apache.xerces.parsers.ObjectFactory.newInstance(Unknown Source)
at org.apache.xerces.parsers.ObjectFactory.createObject(Unknown Source)
at org.apache.xerces.parsers.ObjectFactory.createObject(Unknown Source)
at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at org.xml.sax.helpers.NewInstance.newInstance(NewInstance.java:44)
at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:119)
at com.pkgChTestCorpus.ChTestCorpus_Action.compareCallisto(ChTestCorpus_Action.java:749)
at com.pkgChTestCorpus.ChTestCorpusMain.modeTotalCorpus(ChTestCorpusMain.java:2136)
at com.pkgChTestCorpus.ChTestCorpusMain.longTraitement(ChTestCorpusMain.java:1302)
at com.rd.pkgChTestCorpus.ChTestCorpusMain.run(ChTestCorpusMain.java:1265)
at java.lang.Thread.run(Thread.java:534)
Voici le code incriminé:
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
try {		         
			XMLReader saxReader = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
			//XMLReader saxReader = XMLReaderFactory.createXMLReader();  //fonctionne pas...
		        saxReader.setContentHandler(new ParserXML());
		        saxReader.parse(fResComparaison.toString());
			}
			catch(SAXException se) {
		        System.out.println("Erreur de parsing");
		        se.printStackTrace();
		    }
		    catch(IOException ioe) {
		        System.out.println("Erreur d'entrée-sortie");
		        ioe.printStackTrace();
		    }
		    catch(ClassFormatError cfe) {
		    	System.out.println("Erreur de formatage de classe");
		        cfe.printStackTrace();
		    }
		    catch(Exception e) {
		    	System.out.println("Autre erreur ...");
		    	e.printStackTrace();
		    }
Aprés avoir regardé dans la faq et dans différent post du forum je n'arrive pas à résoudre ce problème... et commence à désespérer un peu...
Help please!!
Merci d'avance pour vos réponse
Philobedo