Win a copy of The Business Blockchain this week in the Cloud forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

HTTP 500 error when compiling JSP

 
Tim Rawerts
Ranch Hand
Posts: 38
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Working on HFSJSP, chapter 3, "Deploying and testing the web app". Everything has worked up to this point, and it fails when I hit the submit button so I assume the JSP is not compiling.

Running Windows 2000. Under mycomputer->properties->environment variables
I have set the following:

JAVA_HOME=D:\j2sdk1.4.1
CLASSPATH=D:\tomcat\common\lib\servlet-api.jar;D:\tomcat\common\lib\jsp-api.jar

I pasted the error below. I have seen this a lot on the web, but I am just missing the boat on this one.

Thanks in advance.

Tim Rawerts




type Exception report

message

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

exception

org.apache.jasper.JasperException: Unable to compile class for JSP
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:346)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:414)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.example.web.BeerSelect.doPost(BeerSelect.java:43)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:106)
org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:935)
org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:764)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:382)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.example.web.BeerSelect.doPost(BeerSelect.java:43)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

 
Kerry Wilson
Ranch Hand
Posts: 254
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You need set the CLASSPATH variable so that tomcat can run the javac command.
 
Tim Rawerts
Ranch Hand
Posts: 38
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
CLASSPATH is now D:\tomcat\common\lib\servlet-api.jar;D:\tomcat\common\lib\jsp-api.jar;D:\j2sdk1.4.1\bin

and I still have the same problem. Thanks anyway. Back out to the net and search.

Tim Rawerts

 
Aruneesh Salhotra
Ranch Hand
Posts: 167
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Use the following jar in your classpath.
C:\Program Files\Java\jdk1.5.0_03\lib\tools.jar

That contains the class that is used for java->class conversion.
 
Tim Rawerts
Ranch Hand
Posts: 38
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am confused.

Here is the path I found on my system.

C:\Program Files\Java\j2re1.4.1 and tools.jar is not in there anywhere.

I did find tools.jar under D:\j2sdk1.4.1\lib. I will try and add this to my CLASSPATH and see what happens.

I have been searching the net and there are a lot of folks with this problem.

Thanks,
Tim Rawerts
 
Tim Rawerts
Ranch Hand
Posts: 38
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It did not seem to work. CLASSPATH is now D:\tomcat\common\lib\servlet-api.jar;D:\tomcat\common\lib\jsp-api.jar;D:\j2sdk1.4.1\bin;D:\j2sdk1.4.1\lib\tools.jar


Back out to the web, but I am willing to try anything at this point.

Tim Rawerts
 
Tim Rawerts
Ranch Hand
Posts: 38
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I tried a bunch of things that I found on the web, and here is what fixed the problem.

I copied tools.jar to D:\tomcat\common\lib and things started working.

Is this a bad work around?

Thanks to all for your help.

Tim Rawerts
 
Don't get me started about those stupid light bulbs.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic