problème de "(Bad magic number)"

Le
Gwen
Bonjour à tous,

je suis sous tomcat 4.1.27 (testé sous linux et sous windows, et j'ai aussi
essayé avec tomcat 5.0.12) avec le jfreechart et le Cewolf pour faire des
graphiques en JSP. Mais quand j'essaie d'accéder à la page de test des jsp
j'ai tout le temps les erreurs suivantes :
java.lang.ClassFormatError: org/jfree/chart/Legend (Bad magic number)
java.lang.ClassLoader.defineClass0(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:537)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)

org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLo
ader.java:1652)

org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.jav
a:883)

org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav
a:1332)

org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav
a:1212)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
org.jfree.chart.JFreeChart.(Unknown Source)

org.jfree.chart.demo.servlet.WebHitChart.generateXYAreaChart(WebHitChart.jav
a:252)

org.apache.jsp.xy_005farea_005fchart_jsp._jspService(xy_005farea_005fchart_j
sp.java:51)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3
11)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
Pourtant j'ai installé le fichier war, et j'ai meme essayé de faire mon
propre projet(développé sous eclipse) et j'ai tout le temps cette erreur là
et je n'en trouve pas la cause.Please help me! je désespère(j'ai aussi
essayé le freechart-sample fourni directement sur le site de freechartmerci
d'avance pour vos réponses !Gwen
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Olivier Thomann
Le #449241
On Thu, 25 Sep 2003 21:09:47 +0200, "Gwen"
Pourtant j'ai installé le fichier war, et j'ai meme essayé de faire mon
propre projet(développé sous eclipse) et j'ai tout le temps cette erreur là
et je n'en trouve pas la cause.Please help me! je désespère(j'ai aussi
essayé le freechart-sample fourni directement sur le site de freechartmerci
d'avance pour vos réponses !Gwen
Est-ce que par hasard tu n'aurais pas transféré ton fichier en mode

texte au lieu du mode binaire? Il faut que les .class soient traités
comme des fichiers binaires.
--
Olivier

Gwen
Le #449029
j'ai trouvé ça sur internet. Mais non je l'ai téléchargé directement depuis
les site (en paticulier le fichier war donc forcément en binaire). la preuve
que c'est bon, la décompression du war (donc zip) s'est passée normalement,
sinon elle se serait plantée...

"Olivier Thomann" message de news:
On Thu, 25 Sep 2003 21:09:47 +0200, "Gwen"
Pourtant j'ai installé le fichier war, et j'ai meme essayé de faire mon
propre projet(développé sous eclipse) et j'ai tout le temps cette erreur



et je n'en trouve pas la cause.Please help me! je désespère(j'ai aussi
essayé le freechart-sample fourni directement sur le site de
freechartmerci


d'avance pour vos réponses !Gwen
Est-ce que par hasard tu n'aurais pas transféré ton fichier en mode

texte au lieu du mode binaire? Il faut que les .class soient traités
comme des fichiers binaires.
--
Olivier



Nicolas Delsaux
Le #448818
Le 25.09 2003, "Gwen" s'est dit "tiens, je vais écrire aux mecs de fr.comp.lang.java"

Bonjour à tous,

je suis sous tomcat 4.1.27 (testé sous linux et sous windows, et j'ai
aussi essayé avec tomcat 5.0.12) avec le jfreechart et le Cewolf pour
faire des graphiques en JSP. Mais quand j'essaie d'accéder à la page
de test des jsp j'ai tout le temps les erreurs suivantes :
java.lang.ClassFormatError: org/jfree/chart/Legend (Bad magic number)
java.lang.ClassLoader.defineClass0(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:537)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java
:123)

D'après la Javadoc,

public class ClassFormatError
extends LinkageError
Thrown when the Java Virtual Machine attempts to read a class file and
determines that the file is malformed or otherwise cannot be interpreted as
a class file.

En l'occurence, et grâce à Google, je trouve ce fil sur les forums de Sun :
http://forum.java.sun.com/thread.jsp?thread0367&forum`&messagep6956

D'autres fils indiquent en outre que la version de JVM ayant compilé le
code est incompatible avec celle exécutant le code.
Donc, vérifies que ta version de JVM est assez haute pour le bytecode
produit (par exemple, si tu utilises une JVM 1.2.1 pour du code incluant
des regexp). Théoriquement, tu trouveras les infos de VM cible sur les
pages des packages que tu as téléchargé.

--
Nicolas Delsaux
PM > L'un prône la franchouillardise grasse, et l'autre le plaisir
PM > sensuel par la décharge d'armes lourdes, donc un américanisme gras
in fras, Taxi vs Terminator

Gwen
Le #451639
justement, j'ai la toute dernière version du jdk 1.4.2_01 et je trouve nulle
part la version de JVM qui a servi à compiler le projets cité. J'ai trouvé
les sources de l'exemple alors j'essaie de compiler mais je n'y arrive
pas... désespérant vraiment.
En tout cas merci de votre aide

"Nicolas Delsaux" message de news:
Le 25.09 2003, "Gwen" s'est dit "tiens, je vais écrire aux mecs de fr.comp.lang.java"

Bonjour à tous,

je suis sous tomcat 4.1.27 (testé sous linux et sous windows, et j'ai
aussi essayé avec tomcat 5.0.12) avec le jfreechart et le Cewolf pour
faire des graphiques en JSP. Mais quand j'essaie d'accéder à la page
de test des jsp j'ai tout le temps les erreurs suivantes :
java.lang.ClassFormatError: org/jfree/chart/Legend (Bad magic number)
java.lang.ClassLoader.defineClass0(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:537)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java
:123)

D'après la Javadoc,

public class ClassFormatError
extends LinkageError
Thrown when the Java Virtual Machine attempts to read a class file and
determines that the file is malformed or otherwise cannot be interpreted
as

a class file.

En l'occurence, et grâce à Google, je trouve ce fil sur les forums de Sun
:

http://forum.java.sun.com/thread.jsp?thread0367&forum`&messagep6956

D'autres fils indiquent en outre que la version de JVM ayant compilé le
code est incompatible avec celle exécutant le code.
Donc, vérifies que ta version de JVM est assez haute pour le bytecode
produit (par exemple, si tu utilises une JVM 1.2.1 pour du code incluant
des regexp). Théoriquement, tu trouveras les infos de VM cible sur les
pages des packages que tu as téléchargé.

--
Nicolas Delsaux
PM > L'un prône la franchouillardise grasse, et l'autre le plaisir
PM > sensuel par la décharge d'armes lourdes, donc un américanisme gras
in fras, Taxi vs Terminator



Gwen
Le #455378
Bon ça y est tout est résolu.. C'était trop bête finalement comme toujours
dans ces cas-là :

sous windows : mon anti virus bloquait tout
sous linux : c t un autre problème, il avait besoin des librairies X mais
sans X lancé ça marchait pas sauf
en ajoutant l'option de lancement:
-Djava.awt.headless=true

et là ça tourne !

merci de votre aide en tout cas
Poster une réponse
Anonyme