java.lang.NoSuchMethodError

java.lang.NoSuchMethodError - Java - Programmation

Marsh Posté le 07-01-2003 à 14:10:44    

Voilà je me tape une 500 servlet exception, lorsque je lance une jsp!
Cette expception me donne la ligne de l'erreur.
Celle ci se trouve dans un .java.
 
Le probleme lorsque je compile mon ".java" contenant les fonctions appelé par ma JSP, aucun probleme de compilation.
Si une methode n'existait pas, ca ne devrait pas compiler???
 
Precision, la jsp n'est pas en cause.
 
Quelqu'un a dejà eu ce genre de probleme.?  :cry:


Message édité par Ev@NgeluS le 07-01-2003 à 14:11:17
Reply

Marsh Posté le 07-01-2003 à 14:10:44   

Reply

Marsh Posté le 07-01-2003 à 14:32:39    

Dans la ligne en question, tu appelles une méthode standard du JDK, c'est ça ?
Dans ce cas, c'est un problème de version de JDK (le JRE utilisé à l'exécution est d'une version majeure plus ancienne que le le JDK utilisé pour compiler).

Reply

Marsh Posté le 07-01-2003 à 14:50:46    

BifaceMcLeOD a écrit :

Dans la ligne en question, tu appelles une méthode standard du JDK, c'est ça ?
Dans ce cas, c'est un problème de version de JDK (le JRE utilisé à l'exécution est d'une version majeure plus ancienne que le le JDK utilisé pour compiler).


non malheureusement la methode utilisé fait parti d'une API(httpunit http://httpunit.org)

Reply

Marsh Posté le 07-01-2003 à 15:41:01    

ca ressemble à un problème de jar (pas à la bonne version)


Message édité par benou le 07-01-2003 à 15:41:19
Reply

Marsh Posté le 07-01-2003 à 16:13:10    

Dans ces cas-là j'utilise une JSP qui m'affiche le classpath complet pour comparer mon classpath de compile et le classpath vu par les jsp/servlets.
 

Reply

Marsh Posté le 07-01-2003 à 16:29:22    

t'es sur t'as pas fait une erreur simple ?
 
il trouve pas la methode? là c fort qd meme!
 
apparement il trouve la classe mais à l'intérieur il trouve pas la methode??????? bizarre ton truc
 

Ev@nGeLuS a écrit :

Voilà je me tape une 500 servlet exception, lorsque je lance une jsp!
Cette expception me donne la ligne de l'erreur.
Celle ci se trouve dans un .java.
 
Le probleme lorsque je compile mon ".java" contenant les fonctions appelé par ma JSP, aucun probleme de compilation.
Si une methode n'existait pas, ca ne devrait pas compiler???
 
Precision, la jsp n'est pas en cause.
 
Quelqu'un a dejà eu ce genre de probleme.?  :cry:  


Message édité par einstein2 le 07-01-2003 à 16:30:58
Reply

Marsh Posté le 07-01-2003 à 16:31:39    

einstein2 a écrit :

t'es sur t'as pas fait une erreur simple ?
 
il trouve pas la methode? là c fort qd meme!
 
apparement il trouve la classe mais à l'intérieur il trouve pas la methode??????? bizarre ton truc
 
 


 
je pensais aussi a une erreur toute bete!
Mais vu que ca compile, je comprends pas vraiment :(

Reply

Marsh Posté le 07-01-2003 à 16:33:12    

Es-tu sûr d'avoir le même classpath qd tu compiles et qd tu exécutes ?
 
Tu as visiblement 2 versions d'une même classe. L'un avec la méthode et l'autre sans.

Reply

Marsh Posté le 07-01-2003 à 16:33:41    

attention tu compiles ok c bon, mais à l'execution tes JSP utilisent ces compils!
 
assures-toi que tes fichiers class soient au bon endroit.
et que tes JSP appellent les bonnes fonctions(SYNTAXE)
 

Ev@nGeLuS a écrit :


 
je pensais aussi a une erreur toute bete!
Mais vu que ca compile, je comprends pas vraiment :(

Reply

Marsh Posté le 07-01-2003 à 16:35:42    

Ev@nGeLuS a écrit :

je pensais aussi a une erreur toute bete!
Mais vu que ca compile, je comprends pas vraiment


Ca me le fait aussi parfois : suivt l'environnt de dev, les exceptions ds les jsp, stun peu nimp.  
A ta place je chercherais une erreur à l'exécution de la jsp sans te préoccuper de la NoSuchMethodError (genre un objet null, à un momt, ou autre chose).

Reply

Marsh Posté le 07-01-2003 à 16:35:42   

Reply

Marsh Posté le 07-01-2003 à 16:36:47    

krosso a écrit :

Es-tu sûr d'avoir le même classpath qd tu compiles et qd tu exécutes ?
 
Tu as visiblement 2 versions d'une même classe. L'un avec la méthode et l'autre sans.
 


 
mon classpath n'a pas été modifié normalement.

Reply

Marsh Posté le 07-01-2003 à 16:37:58    

einstein2 a écrit :

attention tu compiles ok c bon, mais à l'execution tes JSP utilisent ces compils!
 
assures-toi que tes fichiers class soient au bon endroit.
et que tes JSP appellent les bonnes fonctions(SYNTAXE)
 
 


 
Je vais re verifier mais a priori, l'erreur ne doit pas vraiment refleté l'exception

Reply

Marsh Posté le 07-01-2003 à 16:39:26    

scoulou a écrit :


Ca me le fait aussi parfois : suivt l'environnt de dev, les exceptions ds les jsp, stun peu nimp.  
A ta place je chercherais une erreur à l'exécution de la jsp sans te préoccuper de la NoSuchMethodError (genre un objet null, à un momt, ou autre chose).


 
ouai c'est possible  debugage rulezz.... :D

Reply

Marsh Posté le 07-01-2003 à 16:46:27    

moi je vote pour 2 jar qui ne sont pas de la même version et dont tu utilises 1 opur compiler et l'autre dans ton moteur de servlet.

Reply

Marsh Posté le 07-01-2003 à 16:49:30    

benou a écrit :

moi je vote pour 2 jar qui ne sont pas de la même version et dont tu utilises 1 opur compiler et l'autre dans ton moteur de servlet.


Exactement ce que j'ai suggéré, d'où mon premùier post.

Reply

Marsh Posté le 07-01-2003 à 16:50:28    

benou a écrit :

moi je vote pour 2 jar qui ne sont pas de la même version et dont tu utilises 1 opur compiler et l'autre dans ton moteur de servlet.

Ca devrait pas jouer normalement mon classpath est le meme pour la jsp et le .java
 
EN tout cas merci pour les reponses, je vais finir par trouver! :sol:

Reply

Marsh Posté le 07-01-2003 à 17:12:11    

Oui, je pense que c'est un problème de version.
Moi, les seuls cas où j'avais cette exception, c'est quand je faisais des applets : je compilais en JDK 1.2 (c'était il y a longtemps :D) et j'ouvrais l'applet avec IE 5... qui contenait un JRE 1.1 => alors forcément, les méthodes apparues dans le JDK 1.2 n'étaient pas trouvées dans le JRE que IE 5 utilisait.

Reply

Marsh Posté le 07-01-2003 à 18:37:13    

moi j'ai eu ce problème avec un vieux servlet.jar et un vieux javamail ...

Reply

Marsh Posté le 07-01-2003 à 18:38:12    

Ev@nGeLuS a écrit :

Ca devrait pas jouer normalement mon classpath est le meme pour la jsp et le .java


t'en es sur ???
Parce que sosu tomcat par exemple, le classpath système et le classpath des web-app sont loins d'être les même ...

Reply

Marsh Posté le 07-01-2003 à 20:45:58    

benou a écrit :


t'en es sur ???
Parce que sosu tomcat par exemple, le classpath système et le classpath des web-app sont loins d'être les même ...


 
bin normallement tomcat n'utilise pas le classpath système, heureusement d'ailleurs :D


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

Marsh Posté le 08-01-2003 à 11:40:06    

ouais dur de débugger sans aucune info.
 
NoSuchMethodError......ces erreurs sont générées qd?
ben à mon avis( humble  :bounce: pas expert en JSP/servlets),
il cherche dans ton servlet.class, mais il trouve pas cette methode, donc plusieurs solutions:
-tu compiles ton servlet mais tu utilises pas le bon compilé?.
-tu utilises le bon servlet compilé???->
 
donc dans tous les cas, tu dois vérifier que tes .class au moment de la compil sont les memes au moment de l'exec.
 
pour ça il faut analyser en détails tous les .class,
 
emplacement, c le diagramme des composants en UML.
 
 
 
@+
 

Ev@nGeLuS a écrit :


 
Je vais re verifier mais a priori, l'erreur ne doit pas vraiment refleté l'exception


Message édité par einstein2 le 08-01-2003 à 11:42:21
Reply

Marsh Posté le 08-01-2003 à 14:52:46    

DarkLord a écrit :


bin normallement tomcat n'utilise pas le classpath système, heureusement d'ailleurs :D


c'est un peu ce que je viens de dire  :o

Reply

Marsh Posté le 08-01-2003 à 15:00:32    

benou a écrit :


c'est un peu ce que je viens de dire  :o  


 
indeed, désolé j'ai lu trop vite :jap:


---------------
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