Also note that default installation of Java on most distributions is to use
the JRE as your JAVA_HOME.
If you opt to not use the internal compiler, then you are forced to either
use the JDK as your JAVA_HOME or manually add in the required jars that the
JDK adds automatically for you.

--
Joakim Erdfelt <[email protected]>
webtide.com <http://www.webtide.com/> - intalio.com/jetty
Expert advice, services and support from from the Jetty & CometD experts
eclipse.org/jetty - cometd.org


On Thu, Feb 13, 2014 at 4:31 PM, Jan Bartel <[email protected]> wrote:

> Andrea,
>
> Can you explain your set up? How are you running jetty? From a
> standard jetty distribution, or from embedded, or from the
> jetty-maven-plugin?
>
> You should have these jars on the classpath:
>
>  javax.el-3.0.0.jar
>  javax.servlet.jsp-2.3.2.jar
>  javax.servlet.jsp-api-2.3.1.jar
>  jetty-jsp-jdt-2.3.3.jar  (*** this one contains the jsp class that
> allows for compilation using jdt!)
>  org.eclipse.jdt.core-3.8.2.v20130121.jar
>
>
> jstl is optional - if you don't use it then you shouldn't need it on
> the classpath:
>  javax.servlet.jsp.jstl-1.2.0.v201105211821.jar
>  org.apache.taglibs.standard.glassfish-1.2.0.v201112081803.jar
>
> Your stack trace looks like it is falling back to using the ant
> compiler, which is the last resort after trying the in-jvm compiler,
> and the jdt compiler. So it looks like either the
> jetty-jsp-jdt-2.3.3.jar or org.eclipse.jdt.core-3.8.2.v20130121.jar is
> missing from the classpath.
>
>
> Jan
>
> On 13 February 2014 19:56, Andrea Cappelli <[email protected]> wrote:
> > Hi list,
> > I have a webapp which needs to compile some jsp
> >
> > I tried the suggestions in
> >
> >
> http://www.eclipse.org/jetty/documentation/current/configuring-jsp.html#compiling-jsps
> >
> > to instruct jetty to use it's internal compiler, but I still get
> >
> > org.apache.jasper.JasperException: Unable to compile class for JSP
> >         at
> >
> org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
> >         at
> >
> org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:346)
> >         at
> > org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:414)
> >         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
> >         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
> >         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
> >         at
> >
> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
> >         at
> >
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
> >         at
> > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
> >         at
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> >         at
> > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:696)
> >         at
> >
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:526)
> >         at
> >
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
> >         at
> >
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:586)
> >         at
> >
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
> >         at
> >
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1110)
> >         at
> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:453)
> >         at
> >
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
> >         at
> >
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1044)
> >         at
> >
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> >         at
> org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:261)
> >         at
> org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:101)
> >         at
> >
> it.mareinformatica.jamboBiglie.server.core.StampaServlet.service(StampaServlet.java:92)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> >         at
> > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:696)
> >         at
> >
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1568)
> >         at
> >
> org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:164)
> >         at
> >
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1539)
> >         at
> >
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:524)
> >         at
> >
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
> >         at
> >
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:568)
> >         at
> >
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
> >         at
> >
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1110)
> >         at
> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:453)
> >         at
> >
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
> >         at
> >
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1044)
> >         at
> >
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> >         at
> >
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199)
> >         at
> >
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
> >         at
> >
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
> >         at org.eclipse.jetty.server.Server.handle(Server.java:459)
> >         at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:280)
> >         at
> >
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:229)
> >         at
> >
> org.eclipse.jetty.io.AbstractConnection$1.run(AbstractConnection.java:505)
> >         at
> >
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
> >         at
> >
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
> >         at java.lang.Thread.run(Thread.java:744)
> > Caused by: 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:105)
> >         at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:924)
> >         at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:757)
> >         at
> > org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:382)
> >
> >
> > Googling I found other "solution" proposed, from explicit setting
> JAVA_HOME
> > to adding the directory which contains tools.jar to classpath, nothing
> > worked for me
> >
> > The only thing that worked was to copy the file tools.jar from
> > $JDK/lib/tools.jar to $JDK/jre/lib/ext/tools.jar
> >
> > I'm using
> >
> > java version "1.7.0_45"
> > Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
> > Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
> >
> > and jetty 9.1.0
> >
> > Any hint appreciated
> >
> > --
> > Andrea Cappelli
> >
> > _______________________________________________
> > jetty-users mailing list
> > [email protected]
> > https://dev.eclipse.org/mailman/listinfo/jetty-users
>
>
>
> --
> Jan Bartel <[email protected]>
> www.webtide.com
> 'Expert Jetty/CometD developer,production,operations advice'
> _______________________________________________
> jetty-users mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/jetty-users
>
_______________________________________________
jetty-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to