NoClassDefFoundError: Servlet

hunger

Mitglied
ich bekomme folgende fehlermeldung wenn ein beliebiges servlet ausgeführt werden soll:

Code:
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Error allocating a servlet instance
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
	org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	java.lang.Thread.run(Thread.java:595)

root cause

java.lang.NoClassDefFoundError: Servlet
	java.lang.ClassLoader.defineClass1(Native Method)
	java.lang.ClassLoader.defineClass(ClassLoader.java:620)
	java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
	org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1853)
	org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:875)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1330)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
	java.security.AccessController.doPrivileged(Native Method)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
	org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	java.lang.Thread.run(Thread.java:595)
benutze tomcat 5.5 unter debian lenny.

kann mir jemand helfen, ihn zu beheben?
vielen dank
hunger
 
Zuletzt bearbeitet:
Du hast eine Klasse "Servlet" die im defaultpackage liegt, die nicht gefunden wird.

1. ClassNotFound heißt immer die entsprechende Klasse wurde nicht gefunden. In 99% der Fälle heißt das ein JAR fehlt. In deinem Fall gehe ich eher davon aus, dass du dein Servlet nicht korrekt in der web.xml konfiguriert hast. In der Servletdeklaration muss der vollqualifizierte Klassenname stehen.

2. Eine Klasse "Servlet" zu nennen sorgt für Verwirrung. Im Allgemeinen tun die Klassen die man schreibt ja etwas bestimmtes. D.h. es macht Sinn sie vernünftig zu benennen.

3. Solltest du wirklich eine Klasse im default package haben ist das foo.

Gruß
Ollie
 
ich hab aber gar keine klasse mit namen servlet...
unter windows mit xampp und tomcat funktioniert es,
deshalb bin ich ja recht verwirrt :)
 
Zurück