java.lang.NoSuchMethodError - Java - Programmation
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).
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 ? |
non malheureusement la methode utilisé fait parti d'une API(httpunit http://httpunit.org)
Marsh Posté le 07-01-2003 à 15:41:01
ca ressemble à un problème de jar (pas à la bonne version)
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.
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! |
Marsh Posté le 07-01-2003 à 16:31:39
einstein2 a écrit : t'es sur t'as pas fait une erreur simple ? |
je pensais aussi a une erreur toute bete!
Mais vu que ca compile, je comprends pas vraiment
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.
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 : |
Marsh Posté le 07-01-2003 à 16:35:42
Ev@nGeLuS a écrit : je pensais aussi a une erreur toute bete! |
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).
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 ? |
mon classpath n'a pas été modifié normalement.
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! |
Je vais re verifier mais a priori, l'erreur ne doit pas vraiment refleté l'exception
Marsh Posté le 07-01-2003 à 16:39:26
scoulou a écrit : |
ouai c'est possible debugage rulezz....
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.
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.
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!
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 ) 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.
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 ...
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 ...
Marsh Posté le 07-01-2003 à 20:45:58
benou a écrit : |
bin normallement tomcat n'utilise pas le classpath système, heureusement d'ailleurs
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 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 : |
Marsh Posté le 08-01-2003 à 14:52:46
DarkLord a écrit : |
c'est un peu ce que je viens de dire
Marsh Posté le 08-01-2003 à 15:00:32
benou a écrit : |
indeed, désolé j'ai lu trop vite
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.?
Message édité par Ev@NgeluS le 07-01-2003 à 14:11:17