Uploaded image for project: 'Daffodil'
  1. Daffodil
  2. DAFFODIL-2892

JAR file URI processing does not allow for JARs within JARs

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 3.6.0, 3.7.0
    • 3.8.0
    • General
    • None
    • OpenJDK Runtime Environment Temurin-11.0.22+7 (build 11.0.22+7)

    Description

      Code was introduced in version 3.6.0 which assumes that all JAR file URIs are composed of two parts - the path to the JAR file, and the path to the resource within the JAR file, separated by a an exclamation mark.

      This means that deployments using "uber" jars now fail if the schema is located inside a JAR inside BOOT-INF/lib within the top level JAR.

      A microservice deployment with a schema URI such as this fails:

      jar:file:/home/serviceuser/service.jar!/BOOT-INF/lib/some-other-jar.jar!/some-schema.dfdl.xsd

      The code at https://github.com/apache/daffodil/blob/main/daffodil-lib/src/main/scala/org/apache/daffodil/lib/util/Misc.scala#L185 then fails on the assertion that there are 2 parts after it splits by the separator.

      Versions up to 3.5.0 work fine.

      Attachments

        Issue Links

          Activity

            People

              slawrence Steve Lawrence
              sgodden Simon Godden
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: