KK-Media
KK-Media

Reputation: 251

Tomcat in combination with Intellij IDEA: no compiler available

I'm just testing Intellij IDEA in combination with an Tomcat 7 serveron Arch Linux.

I got the standard Tomcat Page when starting Tomcat by

sudo /etc/rc.d/tomcat start

I just used tutorial at http://wiki.jetbrains.net/intellij/Creating_a_simple_Web_application_and_deploying_it_to_Tomcat to configure Intellij.

Just a blank project but running Tomcat and opening localhost:8080 in Webbrowser causes following exception:

Feb 22, 2012 11:38:57 AM org.apache.catalina.core.StandardWrapperValve invoke
Schwerwiegend: Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.IllegalStateException: No Java compiler available] with root cause
java.lang.IllegalStateException: No Java compiler available
at org.apache.jasper.JspCompilationContext.createCompiler(JspCompilationContext.java:228)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:638)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
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.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:1763)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

I'm have no idea why the java compiler is missing. Java Home is set in Tomcat conf correct to

 /opt/java

Can anybody help me?

Upvotes: 0

Views: 1827

Answers (1)

Oleg Mikheev
Oleg Mikheev

Reputation: 17444

The error is misleading, it can't find Jasper JSP compiler, not Java compiler.

It is org.apache.jasper.compiler.JDTCompiler, and it can't be loaded from the classpath, meaning that most probably JAR file with it (jasper.jar) did not get there for some reason.

Did you download/unpacked Tomcat from apache, or did you install it from your Linux distribution repo? Distribution packages mangle package structure sometimes...

Upvotes: 0

Related Questions