Outils pour utilisateurs

Outils du site


tips_informatiques:java:web:tomcat:tomcat

java.lang.NoClassDefFoundError: javax/servlet/Filter au démarrage de Tomcat

Version Tomcat 5.5

Problème

Après avoir ajouté un filtre dans une application Tomcat sous tomcat/webapps/myApplication/WEB-INF/classes/filters/myFilter.class, l'application ne démarre plus. Dans les logs on trouve l'erreur suivante:

tomcat/logs/catalina.out:

ERROR 44:02 [/myApplication]> Exception au démarrage du filtre RestApiFlashFilter
java.lang.NoClassDefFoundError: javax/servlet/Filter
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
	...

Solution

Le problème est causé par la présence dans le CLASSPATH d'une copie de servlet.jar ou servlet-api.jar. Cette librairie ne devrait se trouver que dans le dossier tomcat/common/lib de Tomcat est pas ailleurs. Dans le cas contraire, le classloader de Tomcat se marche dessus.

tips_informatiques/java/web/tomcat/tomcat.txt · Dernière modification: 2009/10/27 00:00 (modification externe)