Skip to Main Content

Java Programming

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

java.lang.ClassNotFoundException: Filter

807580Jan 12 2010 — edited Jan 12 2010
Helllo guys, well I'd like to introduce myself a little bit, I'm from Colombia, so my english is not that good, but at least I can express my ideas, I just finished my Uni, 1 month ago and I'm working in a company as a developer, they gave me the source code of their software for making some fixes... but I have to set it up from scratch on eclipse, first it was not a web proyect so I had to do it manually for eclipse to hook it up, but right now I'm having a problem, it does not find the filter class, which is defined in the web.xml, so if I add manually the servlet.jar lib to my proyect (you should never do this, it is already in the tomcat lib), it finds the filter class, but it generates a severe error and tomcat does not start. My web.xml is like this:
<filter>
		<filter-name>MenuFilter</filter-name>
		<filter-class>util.MenuFilter</filter-class>
		<init-param>
			<param-name>DRIVER</param-name>
			<param-value>org.postgresql.Driver</param-value>
		</init-param>
		<init-param>
			<param-name>PROTOCOLO</param-name>
			<param-value>jdbc:postgresql://localhost:5432/florence</param-value>
		</init-param>
		<init-param>
			<param-name>USUARIO</param-name>
			<param-value>usuario</param-value>
		</init-param>
		<init-param>
			<param-name>PASSWORD</param-name>
			<param-value>password</param-value>
		</init-param>
		<init-param>
			<param-name>PASSWORDENCRYPTED</param-name>
			<param-value>dmFheu76jl=</param-value>
		</init-param>
		<init-param>
			<param-name>MOSTRAR_JSP</param-name>
			<param-value>false</param-value>
		</init-param>
		<init-param>
			<param-name>BASE_SOMETHING</param-name>
			<param-value>/home/USER/workspace/proyect/</param-value>
		</init-param>
		<init-param>
			<param-name>FILEPATH</param-name>
			<param-value>/home/user/workspace/proyect/upload/</param-value>
		</init-param>
		<init-param>
			<param-name>FOTOSPATH</param-name>
			<param-value>/home/user/workspace/proyect/fotos/</param-value>
		</init-param>
		<init-param>
			<param-name>RUTALOGSAPLICACION</param-name>
			<param-value>/var/tomcat6/logs/proyecto/</param-value>
		</init-param>
		<init-param>
			<param-name>RUTABACKUPAPLICACION</param-name>
			<param-value>/home/user/workspace/proyect/backUps/</param-value>
		</init-param>
		<init-param>
			<param-name>MAXACTIVE</param-name>
			<param-value>24</param-value>
			<description>
				Número máximo de conexiones en el pool, antes de empezar a crecer el
				tamaño de éste (ver descripción de WHENEXHAUSTEDACTION)
			</description>
		</init-param>
		<init-param>
			<param-name>MAXIDLE</param-name>
			<param-value>1</param-value>
			<description>
				CANTIDAD DE POOLES (HILOS), QUE SE PUEDEN GENERAR EN EL SISTEM. Cada uno de estos pooles, cuentan como
				una conexion diferete de postgres, agotando las de postgres.conf
			</description>
		</init-param>
		<init-param>
			<param-name>WHENEXHAUSTEDACTION</param-name>
			<param-value>2</param-value>
			<description>
				El valor de este parámetro debe sacarse de org.apache.commons.pool.impl.GenericObjectPool, de una
				de las constantes WHEN_EXHAUSTED_* , pero como un int en base 10. La aplicacion lo convierte a byte.
				La constante "2" corresponde a WHEN_EXHAUSTED_GROW, es decir, si todas las conexiones del pool están
				ocupadas y se solicita una más, simplemente, se crea una nueva.
			</description>
		</init-param>
		<init-param>
			<param-name>REMOVEABANDONEDTIMEOUT</param-name>
			<param-value>15000</param-value>
			<description>
				Tiempo en milisegundos antes de remover una conexión abandonada
			</description>
		</init-param>
		<init-param>
			<param-name>SMTPSERVER</param-name>
			<param-value>mail.domain.com</param-value>
			<description>
				Servidor SMTP encargado de la gestin de correos
			</description>
		</init-param>
		<init-param>
			<param-name>LOGSLOG4J</param-name>
			<param-value>
				/home/user/workspace/proyect/web/WEB-INF/log4j-conf-proyect.properties
			</param-value>
			<description>
				Archivo de configuración para hacer logs con log4j
			</description>
		</init-param>
		<init-param>
			<param-name>
				WEBPATH
			</param-name>
			<param-value>
				http://localhost:8080/proyect/
			</param-value>
			<description>
				URL raíz de la aplicación
			</description>
		</init-param>
		<init-param>
			<param-name>tiempoSesion</param-name>
			<param-value>30</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>MenuFilter</filter-name>
		<url-pattern>/mainMenu.jsp</url-pattern>
	</filter-mapping>
Util.MenuFilter does exists....... the error is this:
SEVERE: Exception starting filter MenuFilter
java.lang.NoClassDefFoundError: 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 org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1850)
	at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:249)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3800)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4450)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.ClassNotFoundException: Filter
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
	... 25 more
I actually do not know what can fix the problem... I've tried to import it as a proyect, add web libraries, make a symbolic link to the webapps and start it, nothing... adding the libraries manually, through eclipse, starting tomcat from console, from eclipse, verify the jdk, tomcat java version... and nothing... it is making me crazy...

So if any of you guys can give me a hand, It would be really nice... thanks.

Edited by: emgiraldo on Jan 12, 2010 6:30 AM
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 9 2010
Added on Jan 12 2010
1 comment
1,631 views