pb java: servlet XML

pb java: servlet XML - Java - Programmation

Marsh Posté le 24-04-2002 à 12:10:44    

Voici le message d erreur que j obtiens lorsque je lance ma servlet:
 
 
root cause  
 
java.lang.NoClassDefFoundError: org/w3c/dom/ranges/DocumentRange
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1631)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:926)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1243)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
at org.apache.xerces.jaxp.DocumentBuilderImpl.newDocument(DocumentBuilderImpl.java:181)
at AskMAJ.doGet(AskMAJ.java:72)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.in
ternalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
at java.lang.Thread.run(Thread.java:536)
 
 
J utilise comme parseur xml xerces2, j ai un fichier xerces.jar que j ai mis dans le repertoire Web-inf/bin, mais je ne comprend pas trop pq il plante car il y a la classe org/w3c/dom/ranges/DocumentRange
dans le jar( c est une interface), il plante lors de l'instruction suivante:
doc=docBuild.newDocument();
Si quelqu un pouvait me filer un coup demain se serait super sympa, parce que la je seche.
Merci d avance

Reply

Marsh Posté le 24-04-2002 à 12:10:44   

Reply

Marsh Posté le 24-04-2002 à 12:13:28    

web-inf/bin ???
 
tu veux dire lib je suppose ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 24-04-2002 à 12:15:09    

oups pardon, me suis tromper, et l environment est windows 2K

Reply

Marsh Posté le 24-04-2002 à 12:16:57    

probleme de classpath. Relis la doc de tomcat pour t'assurer que tu mets le jar au bon endroit et redémarre tomcat.

 

[jfdsdjhfuetppo]--Message édité par DarkLord le 24-04-2002 à 12:17:58--[/jfdsdjhfuetppo]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 24-04-2002 à 12:21:12    

si je ne le mettais le jar au bon endroit il devrait planeter avant lorsqu il appel la classe DocumentBuilder (voir meme avant au moment ou il appel la classe documentBuilderFactory) org.apache.xerces.jaxp.DocumentBuilderImpl.newDocument(DocumentBuilderImpl.java:181)
N est tu pas d accord?

Reply

Marsh Posté le 24-04-2002 à 13:23:22    

titou078 a écrit a écrit :

si je ne le mettais le jar au bon endroit il devrait planeter avant lorsqu il appel la classe DocumentBuilder (voir meme avant au moment ou il appel la classe documentBuilderFactory) org.apache.xerces.jaxp.DocumentBuilderImpl.newDocument(DocumentBuilderImpl.java:181)
N est tu pas d accord?  




 
Qu'est ce que j'en sais moi. Je n'ai meme pas vu ton code!


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 24-04-2002 à 17:25:31    

décompile le xerces.jar et regarde si la classe est dedans ...

Reply

Marsh Posté le 24-04-2002 à 17:32:17    

titou078 a écrit a écrit :

J utilise comme parseur xml xerces2, j ai un fichier xerces.jar que j ai mis dans le repertoire Web-inf/bin, mais je ne comprend pas trop pq il plante car il y a la classe org/w3c/dom/ranges/DocumentRange
dans le jar



 
Benou >>> Déjà fait


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 24-04-2002 à 17:36:40    

DarkLord a écrit a écrit :

 
Benou >>> Déjà fait  




oups ... j'ai lu trop vite ...
 
pas d'idée dans ce cas là.
 
Une remarque quand même. Si y a bien un truc que j'aime pas avec tomcat c'est la gestion du classpath.

Reply

Marsh Posté le 25-04-2002 à 00:00:47    

Je confirme l'idée de Dark : ça pue le classpath, ça!!
Vu que c'est Apache qui appelle la servlet,  et que ton DocumentBuilder est dans le package  
org.apache.xerces.jaxp
 
ben il se peut très bien que DocumentRange ne soit pas dans ton classpath.....

Reply

Marsh Posté le 25-04-2002 à 00:00:47   

Reply

Marsh Posté le 25-04-2002 à 09:19:17    

qu est ce que le classpath? et ou puis je le modifier?

Reply

Marsh Posté le 25-04-2002 à 09:47:43    

bah, vu que tu utilises Tomcat, il suffit de mettre les .jar que tu veux utiliser dans web-inf/lib...
 
Essaie de faire un  
jar -tf werces2.jar
 
pour voir si il contient la classe org/w3c/dom/ranges/DocumentRange  
Si ce n'est pas le cas, c'est qu'il te ma,que un package.

Reply

Marsh Posté le 25-04-2002 à 09:54:09    

normalement il y est, j ai moi meme crée le jar a partir des sources, et je vois apparaitre l interface avec forte lorsque je monte la jar, et qe je regarde les classes, j ai pas de pb avec forte

Reply

Marsh Posté le 25-04-2002 à 10:00:13    

titou078 a écrit a écrit :

normalement il y est, j ai moi meme crée le jar a partir des sources, et je vois apparaitre l interface avec forte lorsque je monte la jar, et qe je regarde les classes, j ai pas de pb avec forte  




 
oui mais bon en attendant ca ne fonctionne pas. Si en plus c'est toi qui a crée le jar ...  :sarcastic:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 25-04-2002 à 10:25:24    

ouai bon ba je crois que je vais essayer de recréer le jar, de toute facon j ai rien a perdre

Reply

Marsh Posté le 25-04-2002 à 10:45:24    

Bon ba pour une raison inconnue, le jar devait etre un peu merdique, je viens de le recréer et ca fonctionne, aller savoir pq.
MErci a tous pour vos reponses

Reply

Marsh Posté le 25-04-2002 à 10:47:47    

titou078 a écrit a écrit :

Bon ba pour une raison inconnue, le jar devait etre un peu merdique, je viens de le recréer et ca fonctionne, aller savoir pq.
MErci a tous pour vos reponses  




 
merci à toi de nous avoir fait perdre notre temps sur des choses aussi bêtes. Si tu avais dit dès le début que tu avais fait le jar toi même ... :heink:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 25-04-2002 à 11:16:27    

je l ai pas fait moi meme, j avais un pb avec jes jar fournit par xerces, j ai recuperer les source et j ai recréer les jar avec les outils fournit avec et ca merdait, comment voulait tu que je sache qu il fallait recréer les jar a la main? Je suis pas expert java, et je suis meme que stagiaire(avec personne pour m aider) alors je fais ce que je peux

Reply

Marsh Posté le 25-04-2002 à 11:27:18    

bin justement il ne faut pas recréer les jar à la main. C'est même contraire a certaines licenses, même open source.
 
Tu dois utiliser les jar tels quel et si ils proviennent du site web officiel tu ne dois nullement les recompiler.


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 25-04-2002 à 11:30:13    

titou078 a écrit a écrit :

je l ai pas fait moi meme, j avais un pb avec jes jar fournit par xerces, j ai recuperer les source et j ai recréer les jar avec les outils fournit avec et ca merdait, comment voulait tu que je sache qu il fallait recréer les jar a la main? Je suis pas expert java, et je suis meme que stagiaire(avec personne pour m aider) alors je fais ce que je peux  




on le remarque sur programmation kan les stages commencent :D

Reply

Marsh Posté le 25-04-2002 à 11:30:22    

a bon, ca je savais pas, j ai recuperer leurs sources, j ai utiliser leur script pour tout recompiler et generer les jar, et comme ca merdait, j ai pris les .class generer avec leur script, pis j ai generer le .jar, perso je vois pas ou est le pb, mais je vais verifier le licence, merci.

Reply

Marsh Posté le 25-04-2002 à 11:34:16    

le problème avec la license c'est que des jar de projets séparés doivent rester séparés. Par exemple tu ne peux pas compiler xerces et xalan dans un seul jar. Tu es obligé de laisser deux jar séparés.
 
Quand a ton histoire de source je ne comprends toujours pas. Le jar est dispo sur le site et il est déjà compilé et tout ... C'est quelle libraire exactement?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 25-04-2002 à 11:45:41    

Xerces-J-src.2.0.1
j avais recuperer les binaire, et les sources, en utilisant leur script je n obtient pas les meme jar, que les jar des fichiers binaire, la deja je comprend pas trop mais bon.
Honnetement je comprend pas pq ca fonctionne pas alors que les jar on l air d etre identique( a part la taille), y a forcement une difference mais ou?
Honnetement je comprend pas trop, le jar de xerces est fait a partir de 2 repertoire, org et javax, j ai pris ces 2 repertoires(avec les fichiers compilé) et j ai créer mon jar comme ca.
Et y a une difference de taille de presque 1Mo, ancin=1,77Mo nouveau 2.6Mo
Enfin bref tout ca pour dire que je comprend pas trop ce qu il font, c est peu etre une histoire de version entre les differents outils :??:

Reply

Marsh Posté le 25-04-2002 à 13:29:59    

titou078 a écrit a écrit :

Xerces-J-src.2.0.1
Enfin bref tout ca pour dire que je comprend pas trop ce qu il font, c est peu etre une histoire de version entre les differents outils :??:  




 
De manière générale si tu utilises une api tu n'en as rien à caler des sources. Tu descends la version binaire, y a les jar tout fait dedans et tu les utilises tel quel et ca marche!
 
Quelle complication !  :sarcastic:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 25-04-2002 à 14:12:22    

la c est pas le cas, et je viens de la retester, il doit y avoir un pb de version ou autre chose enfin je sais pas

Reply

Marsh Posté le 25-04-2002 à 14:49:40    

titou078 a écrit a écrit :

la c est pas le cas, et je viens de la retester, il doit y avoir un pb de version ou autre chose enfin je sais pas  




 
moi non plus  :hap:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed