Simon Godden created DAFFODIL-2892:
--------------------------------------

             Summary: JAR file URI processing does not allow for JARs within 
JARs
                 Key: DAFFODIL-2892
                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2892
             Project: Daffodil
          Issue Type: Bug
          Components: General
    Affects Versions: 3.7.0, 3.6.0
         Environment: OpenJDK Runtime Environment Temurin-11.0.22+7 (build 
11.0.22+7)
            Reporter: Simon Godden


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
 
|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.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to