webForumDet fria alternativet

The import ... cannot be resolved

5 svar · 788 visningar · startad av Gein

GeinMedlem sedan sep. 20004 849 inlägg
#1

Här sitter jag och känner mig som en idiot igen.
Har skrivit en sajt som jag paketerat i en war-fil och deployat på min server som kör Tomcat 6. Sajten har fungerat utmärkt på utvecklingsmaskinen men vill inte riktigt snurra på servern.

Loggfilen säger mig:

2008-aug-27 12:25:24 org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet FoosballLogin as unavailable
2008-aug-27 12:25:24 org.apache.catalina.core.StandardWrapperValve invoke
ALLVARLIG: Allocate exception for servlet FoosballLogin
java.lang.Error: Unresolved compilation problems:
The import javax.servlet.http.HttpServletRequest cannot be resolved
The import javax.servlet.http.HttpServletResponse cannot be resolved
The import javax.servlet.http.HttpSession cannot be resolved

The hierarchy of the type FoosballLogin is inconsistent
The type FoosballLogin must implement the inherited abstract method BaseAjaxServlet.getXmlContent(HttpServletRequest, HttpServletResponse)
The method getXmlContent(HttpServletRequest, HttpServletResponse) of type FoosballLogin must override a superclass method
HttpServletRequest cannot be resolved to a type
HttpServletResponse cannot be resolved to a type
HttpSession cannot be resolved to a type

    at nu.knivby.saab.foosball.FoosballLogin.\<init\>(FoosballLogin.java:5)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
    at java.lang.Class.newInstance0(Class.java:350)
    at java.lang.Class.newInstance(Class.java:303)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1104)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
    at java.lang.Thread.run(Thread.java:595)

2008-aug-27 12:26:26 org.apache.catalina.core.StandardWrapperValve invoke
INFO: Servlet FoosballLogin is currently unavailable

Jag har fetmarkerat raderna som jag misstänker ligger till grund för problemet. Vad är det jag har missat egentligen?

spangoMedlem sedan juni 20006 147 inlägg
#2

Verkar som att servlet.jar inte finns i classpathen, vilket i sig är underligt men borde kunna åtgärdas genom att kopiera den till Tomcats libkatalog. Kanske värt att utreda detta vidare, kan ev vara tecken på nåt annat fel.

GeinMedlem sedan sep. 20004 849 inlägg
#3

Någon servlet.jar finns inte på servern. Däremot servlet-api.jar. Och den ligger i lib-katalogen som innehåller dessa jars:

annotations-api.jar     jasper-el.jar           tomcat-dbcp.jar
catalina-ant.jar        jasper-jdt.jar          tomcat-i18n-es.jar
catalina-ha.jar         jasper.jar              tomcat-i18n-fr.jar
catalina-tribes.jar     jsp-api.jar             tomcat-i18n-ja.jar
catalina.jar            servlet-api.jar         tools.jar
el-api.jar              tomcat-coyote.jar
SPiNMedlem sedan mars 20005 832 inlägg
#4

Är det inte j2ee.jar som är boven i dramat - och inte servlet-api.jar?

Du kan enkelt testa genom att paketera in j2ee.jar i ditt war-arkiv i mappen WEB-INF/lib om du har tillgång till den på MacBooken.

GeinMedlem sedan sep. 20004 849 inlägg
#5

Inuti servlet-api.jar så finns de klasser som den påstår sig inte kunna hitta så det verkar ju vara rätt jar iaf? Nu har jag inte tillgång till Macbooken så jag kan inte flytta in någon j2ee.jar.

GeinMedlem sedan sep. 20004 849 inlägg
#6

Jag är lite osäker på exakt vart felet låg. Den version av sajten som jag hade deployat var direkt hämtat från mitt SVN-repository. Vad jag nu gjorde var att gå tillbaka till den working copy som jag hade på Macbooken och deployade från den istället och då gick det bättre! Trots att Eclipse hävdar att min working copy inte skiljer sig från den i repositoryt.

Nåväl tack för hälpen! (y)

Genererad på 395 ms · cache AV · v20260730165559-full.f96bc7eb