Bonjour,
Je rencontre un problème étrange suite à la compilation d'une servlet. Je vous présente le contexte :
Je travaille actuellement avec tomcat 5.5.16 et le j2sdk1.5 de sun.
j'ai dans tomcat_host un répertoire par projet. Par exemple :
projet1
projet2
Ces 2 projets ne servent que pour la démonstration de mon problème. Ils
ne sont composés chacun que d'une servlet affichant "hello world".
Ensuite :
- je démarre tomcat ==> ok
- je teste le "hello world" du projet1 ==> ok
- je teste le "hello world" du projet2 ==> ok
- je recompile la servlet du projet1 : javac helloworld.java ==> ok
- je redémarre tomcat ==> ok
- et enfin, je reteste le projet1 ==> erreur
(la compilation à dû mal se passée, je teste donc le projet2 qui n'a absolument pas été modifié)
- je teste le projet2 ==> même erreur que pour le projet1 !!!
Encore plus fou... dans l'état actuel, je ne fait que redémarrer ma
machine, puis relancer tomcat et là, miracle, les projet1 et projet2
refonctionnent !!!
Mais dès que je compile une servlet, rebelotte :-(
Voici l'erreur que j'obtient lorsque je teste ma servlet après l'avoir recompilée :
Etat HTTP 500 -
type Rapport d'exception
message
descriptionLe serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
exception
javax.servlet.ServletException: Erreur d'allocation à une instance de servlet
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:595)
cause mère
java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
java.net.URLClassLoader.access$100(URLClassLoader.java:56)
java.net.URLClassLoader$1.run(URLClassLoader.java:195)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:188)
java.lang.ClassLoader.loadClass(ClassLoader.java:306)
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
java.lang.ClassLoader.loadClass(ClassLoader.java:251)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1267)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:595)
Par ailleurs, les exemples de servlets livrés avec tomcat fonctionnent toujours très bien...
Si vous avez une petite idée d'où peut venir ce problème, parce que là, je sais vraiment plus quoi faire :-(
Merci pour votre aide,
sergenttrent