glassfish
  1. glassfish
  2. GLASSFISH-15545

TLD files located in JARs of a shared library are not mapped

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: v3.0.1
    • Fix Version/s: None
    • Component/s: web_container
    • Labels:
      None
    • Environment:

      Linux

      Description

      When frameworks such Struts that provide TLD descriptor files are located in a shared library, applications that use them fail to process the tag libraries.

        Activity

        Hide
        Sanjeeb Sahoo added a comment -

        IIUC, the fix made by Shing Wai also covers per application libraries (domain/lib/applib). Now, it is often recommended to use Class-Path in application libraries to make sure classpath order is maintained. If you search glassfish forum, you will find examples of such usage.

        Show
        Sanjeeb Sahoo added a comment - IIUC, the fix made by Shing Wai also covers per application libraries (domain/lib/applib). Now, it is often recommended to use Class-Path in application libraries to make sure classpath order is maintained. If you search glassfish forum, you will find examples of such usage.
        Hide
        Bruno Borges added a comment -

        Now I understood Sahoos' previous comment.

        Yes, there's no need to scan for referenced jars on MANIFEST Class-Path, since most certainly they are side-by-side on domain1/lib

        Show
        Bruno Borges added a comment - Now I understood Sahoos' previous comment. Yes, there's no need to scan for referenced jars on MANIFEST Class-Path, since most certainly they are side-by-side on domain1/lib
        Hide
        kchung added a comment -

        Scanning jars referenced in Manifest Class-Path is currently limited to only the set of referencing jars (i.e. those with Manifest Class_path) that are in the application (i.e. under WEB-INF). See TldScanner for further details. This is a design decision to limit the amount scanning at server startup time. This should not be an issue in practice, as it is extremely unlikely to happen for system jars. The user can always make sure to put all the necessary jar in domain1/lib.

        Show
        kchung added a comment - Scanning jars referenced in Manifest Class-Path is currently limited to only the set of referencing jars (i.e. those with Manifest Class_path) that are in the application (i.e. under WEB-INF). See TldScanner for further details. This is a design decision to limit the amount scanning at server startup time. This should not be an issue in practice, as it is extremely unlikely to happen for system jars. The user can always make sure to put all the necessary jar in domain1/lib.
        Hide
        Shing Wai Chan added a comment -

        Per discussion with Sahoo, since we don't process the glassfish/lib, then there is no need to process Exclude marker.

        Show
        Shing Wai Chan added a comment - Per discussion with Sahoo, since we don't process the glassfish/lib, then there is no need to process Exclude marker.
        Hide
        Sanjeeb Sahoo added a comment -

        Looking at the changes, I think it is incomplete as it does not seem to be processing Class-Path manifest entries of library jars for potential source of TLDs. More over, it does not exclude jars from library directory that that are excluded from server runtime.

        Show
        Sanjeeb Sahoo added a comment - Looking at the changes, I think it is incomplete as it does not seem to be processing Class-Path manifest entries of library jars for potential source of TLDs. More over, it does not exclude jars from library directory that that are excluded from server runtime.

          People

          • Assignee:
            Shing Wai Chan
            Reporter:
            Bruno Borges
          • Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Due:
              Created:
              Updated:
              Resolved: