Bug#806905: jakarta-taglibs-standard: Remove the spec jars from the classpath in the manifest

Emmanuel Bourg ebourg at apache.org
Wed Dec 2 18:09:31 UTC 2015


Source: jakarta-taglibs-standard
Version: 1.1.2-3
Severity: normal

standard.jar and jstl1.1.jar have a classpath specified in their manifest,
and this classpath specifies old spec jars (Servlet API 2.5, JSP 2.1 and
EL 2.1). This causes an issue with servlet containers like Jetty 9 where
the taglibs can be loaded before the more recent spec jars used by the
container. In this case the URLClassLoader loads the jars specified in
the manifest of the taglibs, and we end up with the Servlet API 2.5 loaded
instead of the version 3.1.

This leads to NoSuchMethodError like this one:

java.lang.NoSuchMethodError: javax.servlet.ServletContext.getJspConfigDescriptor()Ljavax/servlet/descriptor/JspConfigDescriptor;
        at org.apache.jasper.servlet.TldScanner.scanJspConfig(TldScanner.java:158)
        at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:104)
        at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:103)
        at org.eclipse.jetty.plus.annotation.ContainerInitializer.callStartup(ContainerInitializer.java:140)
        at org.eclipse.jetty.annotations.ServletContainerInitializersStarter.doStart(ServletContainerInitializersStarter.java:65)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:274)
        at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349)
        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)


The spec jars should be removed from the classpath, there is no reason
to keep them since the dependency is always provided by the container
running the code (and ideally lintian should check that).



More information about the pkg-java-maintainers mailing list