Avatar billede rbjensen Nybegynder
20. maj 2003 - 01:28 Der er 8 kommentarer og
1 løsning

Tomcat / com.oreilly upload library / Classpath problem

Jeg forsøger at kompilere servletten "UploadTest.java" i kap.4 fra http://examples.oreilly.com/jservlet2/
Den kompilerer fint, men lige så snart jeg forsøger at kalde den fra et HTML dokument får jeg følgende fejl:

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

exception

javax.servlet.ServletException: Invoker service() exception
    at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:524)
<snip>
root cause

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest
    at com.oreilly.servlet.multipart.MultipartParser.(MultipartParser.java:150)
<snip>

Så vidt jeg kan udlede (bl.a. fra http://www.servlets.com/blog/archives/000027.html, ca. 70 % nede)er det fordi min Tomcat 4.1.24 ikke kan kan finde javax/servlet/http/HttpServletRequest der skulle ligge i servlet.jar fra J2EE-mappen.
Jeg har derfor i desperation forsøgt at kopiere den fil til stort set alle de mapper jeg kunne finde på, men uden held...
Jeg antager at enten jeg eller Tomcat må have sat Classpath forkert - men eh, hvordan ordner jeg det ?

MVH,RBJ.
Avatar billede disky Nybegynder
20. maj 2003 - 01:52 #1
har du prøvet i lib mappen under tomcat ?

Ellers nævn den specifikt i system classpathen
Avatar billede rbjensen Nybegynder
20. maj 2003 - 02:09 #2
Jeg har den i følgende mapper lige nu:
C:\Program Files\Apache Group\Tomcat\common\lib\servlet.jar
C:\Program Files\Apache Group\Tomcat\shared\lib\servlet.jar
C:\Program Files\Apache Group\Tomcat\webapps\examples\WEB-INF\classes\servlet.jar
C:\Program Files\Apache Group\Tomcat\webapps\WEB-INF\lib\servlet.jar
..uden at det virker

Er classpath egentligt en "miljøvariabel" ?
og skal man tilføje nogle udover at sætte
J2EE_HOME=C:\j2sdkee1.3
JAVA_HOME=C:\j2sdk1.4.1_02
og at tilføje C:\j2sdk1.4.1_02\bin til PATH for at få tingene til spille ?
Hvad er System class path ?
(Det er sikkert newbie spørgsmål - tilgiv mig...)
Avatar billede arne_v Ekspert
20. maj 2003 - 03:58 #3
Prøv og installer Tomcat i et directory uden mellemrum i.

Det giver notorisk problemer.
Avatar billede arne_v Ekspert
20. maj 2003 - 04:00 #4
Og man bør ikke skulle eksplicit kopiere jar filer eller ændre classpath
eller lignende.

javax.servlet.http.HttpServletRequest skal være der default i enhver
servlet engine.
Avatar billede arne_v Ekspert
02. juni 2003 - 20:19 #5
rbjensen>

Er du kommet videre ?
Avatar billede rbjensen Nybegynder
03. juni 2003 - 12:40 #6
Ikke ligefrem kommet videre - men jeg "tog en omvej" og anvendte http://jakarta.apache.org/commons/fileupload/index.html istedet, hvilket foreløbig ser ud til at virke.
Avatar billede arne_v Ekspert
03. juni 2003 - 12:44 #7
Fint nok.

Med hensyn til O'Reilly koden - havde du selv recompilet java->class ?
Avatar billede rbjensen Nybegynder
03. juni 2003 - 13:02 #8
Jeg er ikke sikker - men jeg tror jeg prøvede med både .java og .class filerne i min "compile path".
Avatar billede arne_v Ekspert
06. juni 2003 - 23:37 #9
Tid at lukke spørgsmålet så ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester