webForumDet fria alternativet

Problem med felsökning

3 svar · 671 visningar · startad av Blårand

BlårandMedlem sedan jan. 20032 356 inlägg
#1

Har en applikation med ett par stycken servlets som jag anropar från JSP-sidor. Samtliga servlets fungerar ok, utom en. Den servlet som inte vill fungera går att kompilera och lägga i strukturen som en class-fil. När jag sedan från ett html-formulär ska anropa servleten, får jag ett felmedelande enligt nedan. (Se längst ned).
Själva huvudpoängen i felmeddelandet lyder: "java.lang.NoClassDefFoundError: com/web/Kontroll (wrong name: Kontroll)".

Servleten är uppbyggd efter samma struktur som övriga servlets. Den ligger på samma plats i strukturen, och är skriven i web-xml i samma form som övriga servlets, så jag vet inte riktigt vart jag ska felsöka någonstans.

Då övriga servlets fungerar ok, så kan det ju inte vara något versionsfel mellan javaversionen och Apache. Inte heller bör det vara något fel i xml-filen, då servleten har samma struktur som övriga servlets, och då enbart namnet skiljer servleten åt från övriga sevlets i xml-filen.
Inte heller är det något med att jag skrivit fel namn någonstans, eller att det skiljer på någon versal eller gemen.

Har kikat en del på webben om detta felmedelande, men inga av de tips och ledtrådar som nämns där, tycks passa in på den felorsak som jag har.

Vet inte riktigt längre vart jag ska felsöka någonstans. Någon som möjligen kan ha ett tips?

exception

javax.servlet.ServletException: Error allocating a servlet instance
	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:667)
	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(Unknown Source)

root cause

java.lang.NoClassDefFoundError: com/web/Kontroll (wrong name: Kontroll)
	java.lang.ClassLoader.defineClass1(Native Method)
	java.lang.ClassLoader.defineClass(Unknown Source)
	java.security.SecureClassLoader.defineClass(Unknown Source)
	org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1779)
	org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:866)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1319)
	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:667)
	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(Unknown Source)
swedeMedlem sedan feb. 2004230 inlägg
#2

Verkar som att den inte hittar någon klass i Kontroll paketet...

java.lang.NoClassDefFoundError: com/web/Kontroll (wrong name: Kontroll)
LimeMedlem sedan sep. 2001961 inlägg
#3

Det där känner jag igen...

Lösning: Radera hela WORK-katalogen, Radera dina kompilerade klasser och kompilera om dessa och skriv in servlet-definitionen i web.xml på nytt. Undvik klipp och klistra. Tyvärr så blir det fel i inklippningen ibland, speciellt i Eclipse har jag märkt.

Vad som också är viktigt är att du verkligen startar om HELA servern och inte bara gör reload på context. Klassladdaren är lite puckad när det gäller reload.

BlårandMedlem sedan jan. 20032 356 inlägg
#4

Tack för hjälpen!
Gjorde enligt era förslag, och skapade även om själva filen med importer och allt. Möjligen kan det ha varit något fel med importen, men vad som egentligen var fel vet jag inte. Men nu fungerar det ok i alla fall.

238 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
235 ms — hämta tråd, inlägg och bilagor (db)