2
votes

I am not sure why this has started to happen but today I tried to use my Tomcat7 after a long time and whenever I am trying to access any application it is throwing me this error:

 type Exception report

 message Unable to compile class for JSP

 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

 An error occurred at line: -1 in the jsp file: null

 Generated servlet error:
     [javac] Compiling 1 source file



    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:353)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:370)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728) note The
 full stack trace of the root cause is available in the Apache
 Tomcat/7.0.39 logs.

More details about the exception from tomcat logs:

SEVERE: Exception: 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 at org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:140) at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:969) at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:799) at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:320) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339) at com.iplanet.jato.view.ViewBeanBase.forward(ViewBeanBase.java:340) at com.iplanet.jato.view.ViewBeanBase.forwardTo(ViewBeanBase.java:261) at com.sun.identity.authentication.UI.LoginViewBean.forwardTo(LoginViewBean.java:662) at com.iplanet.jato.ApplicationServletBase.dispatchRequest(ApplicationServletBase.java:981) at com.iplanet.jato.ApplicationServletBase.processRequest(ApplicationServletBase.java:615) at com.iplanet.jato.ApplicationServletBase.doGet(ApplicationServletBase.java:459) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.forgerock.openam.validation.ResponseValidationFilter.doFilter(ResponseValidationFilter.java:44) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.sun.identity.setup.AMSetupFilter.doFilter(AMSetupFilter.java:98) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722)

JAVA_HOME and JRE_HOME are correctly set Also jdk/bin is also in path.

1
Please post the stack trace of the root cause (see the last line of your stacktrace above)mschenk74
An error occurred at line: -1 in the jsp file: null. post the jsp file tooSuresh Atta
Something wrong with the JSP files I guess .AllTooSir
There is no problem with JSP. Even if i dont have a jsp in my webapp, it is throwing the error. I have added more exception traces. It seems tomcat is messed up somehow by me. Let me try to do a fresh install of it.Juned Ahsan
@JunedAhsan, Did you find any solution for this?Alpesh Gediya

1 Answers

0
votes

Reading from http://wiki.apache.org/tomcat/FAQ/Miscellaneous it says that this issue may be result of:

  1. Environment variable issue
  2. Environment issue or Ant issue
  3. Others have had success by added JAVA_HOME/bin to their PATH. 1 ... 2 and make sure you are using the full JDK and not the JRE.