geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Genender (JIRA)" <>
Subject [jira] Closed: (GERONIMO-878) Web deployer ignores manifest class path entries
Date Sun, 14 Aug 2005 21:32:54 GMT
     [ ]
Jeff Genender closed GERONIMO-878:

    Resolution: Invalid

This is not a bug...its covered in the J2EE 1.4 spec, page 122:

"Top level JAR files that are processed by a deployment tool should not contain Class-Path
entries; such entries would, by definition, reference other files external to the deployment
unit. A deployment tool is not required to process such external references."

> Web deployer ignores manifest class path entries
> ------------------------------------------------
>          Key: GERONIMO-878
>          URL:
>      Project: Geronimo
>         Type: Bug
>   Components: deployment, web
>     Versions: 1.0-M4
>     Reporter: Bernd Fondermann
>     Priority: Blocker
>      Fix For: 1.0-M5

> When requesting a JSP page of a geronimo-deployed WAR, I get the following exception:
> org.apache.jasper.JasperException: Unable to initialize TldLocationsCache: $GERONIMO_HOME/config-store/17/lib1.jar
> The webapp contains a META-INF/MANIFEST.MF file with a line like that:
>     Class-Path: lib1.jar lib/lib2.jar
> I debugged into Jasper2 and found the following:
> * The code throwing the exception is in TldLocationsCache.scanJars(), called from init()
> * This method is triggered at JSP compilation time, but only for pages containing <%@
taglib ... %> directives
> * At first, the JettyClassLoader is doing its stuff
> * Second, its parent, o.a.g.kernel.config.ConfigurationClassLoader takes  over
> * TldLocationsCache iterates the 2 libs from the Manifest file as returned by ConfigurationClassLoader.getURLs()
> * The URLs as returned by the CL are
>    $GERONIMO_HOME/config-store/17/lib1.jar
>    $GERONIMO_HOME/config-store/17/lib/lib2.jar
> * But, the files are in fact stored under
>    $GERONIMO_HOME/config-store/17/war/WEB-INF/lib1.jar
>    $GERONIMO_HOME/config-store/17/war/WEB-INF/lib/lib2.jar
> * This causes a FileNotFoundException which is wrapped into the JasperException
> * If the config-store is manipulated (while running the server) to contain these two
files at the requested location, everything works fine from then on
> * Of course, the downside of this manipulation is, that deployment fails at next server

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message