title: org.apache.jasper.JasperException: Could not add one or more tag libraries
body: <p>I have an OSGi application that was developed by some of my fellow students and I try to get it running in Eclipse Juno 4.2 with Java 1.6 under OS X 10.8. One of the bundles of this application is responsible for providing a web interface using JSP and Jetty. When I try to run the project in Eclipse, the Equinox console gives me the following exception when I try to access the web interface:</p>
  
  <pre><code>2012-08-21 16:15:30.574:WARN:oejs.ServletHandler:/ner/ner
  org.apache.jasper.JasperException: /WEB-INF/ner.jsp(5,68) PWC6226: Could not add one or more tag libraries.
  
  at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:81)
  at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:376)
  at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:133)
  at org.apache.jasper.compiler.JspDocumentParser.parse(JspDocumentParser.java:258)
  at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:229)
  at org.apache.jasper.compiler.ParserController.parse(ParserController.java:145)
  at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:212)
  at org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
  at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:625)
  at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
  at org.eclipse.equinox.jsp.jasper.JspServlet.service(JspServlet.java:155)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
  at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
  at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
  at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
  at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:384)
  at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598)
  at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486)
  at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
  at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
  at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
  at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
  at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
  at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
  at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:271)
  at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:98)
  at org.eclipse.equinox.http.servlet.internal.RequestDispatcherAdaptor.forward(RequestDispatcherAdaptor.java:30)
  at de.uni_sb.coli.nep.webui.NerServlet.doGet(NerServlet.java:150)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
  at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
  at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
  at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
  at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:384)
  at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598)
  at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486)
  at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
  at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
  at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
  at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
  at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
  at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
  at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
  at org.eclipse.jetty.server.Server.handle(Server.java:350)
  at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
  at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
  at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
  at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
  at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
  at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
  at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606)
  at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
  at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
  at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
  at java.lang.Thread.run(Thread.java:722)
  </code></pre>
  
  <p>The web interface-related folder structure is as follows:</p>
  
  <pre><code>WebContent
  |----&gt; WEB-INF
         |----&gt; ner.jsp     # This is the template
                lib
                |----&gt; commons-fileupload-1.2.2.jar
                       commons-io-2.0.1.jar
                tld
                |----&gt; c-1_0-rt.tld
                       c-1_0.tld
                       c.tld
                       fmt-1_0-rt.tld
                       fmt-1_0.tld
                       fmt.tld
                       fn.tld
                       permittedTaglibs.tld
                       scriptfree.tld
                       sql-1_0-rt.tld
                       sql-1_0.tld
                       sql.tld
                       x-1_0-rt.tld
                       x-1_0.tld
                       x.tld
  </code></pre>
  
  <p>The web interface should be accessible at <code>http://localhost:8080/ner/ner</code> but Jetty only gives me a HTTP 500 with the same exception as stated above. In the terminal, everything goes fine but not in Eclipse. It seems that Eclipse is expecting a different folder structure or something.</p>
  
  <p>Do you have any idea what could cause this problem? If you need to see the content of some files, let me know and I will add them to this post. Thanks a lot in advance!           </p>