[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fop-dev
Subject:    [jira] [Updated] (FOP-2861) [PATCH] Allow resource loading from jar: URI
From:       "Simon Steiner (Jira)" <jira () apache ! org>
Date:       2022-09-05 7:54:00
Message-ID: JIRA.13230288.1556277174000.265648.1662364440030 () Atlassian ! JIRA
[Download RAW message or body]


     [ https://issues.apache.org/jira/browse/FOP-2861?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]

Simon Steiner updated FOP-2861:
-------------------------------
    Attachment: LoadFromJar.java

> [PATCH] Allow resource loading from jar: URI
> --------------------------------------------
> 
> Key: FOP-2861
> URL: https://issues.apache.org/jira/browse/FOP-2861
> Project: FOP
> Issue Type: Improvement
> Affects Versions: 2.0, 2.1, 2.2, 2.3, 2.4, 2.6, 2.7
> Reporter: Ole Sandum
> Assignee: Simon Steiner
> Priority: Major
> Attachments: FopResourceResolver.java, LoadFromJar.java, uri_resolve-1.diff, \
> uri_resolve.diff, uri_resolve_decoded.diff 
> 
> We would like to  load our FOP config.xml along with related fonts and hyphenation \
> files  using   the common classloader URL, e.g.: {{   URL  configXml = \
> getClass().getResource("config.xml");}} {{   FopConfParser confParser =  }}
> {{         new FopConfParser(configXml.openStream(), configXml.toURI());}}
> This makes for easy deployment, and works nicely as long as classes and resources \
> are loaded from separate files, i.e. from file:/some/path/config.xml URIs. However, \
> it fails when classes and resources are packaged and loaded directly from a jar, \
> i.e. from jar:file:/some/archive.jar!/path/config.xml URIs, as is the case when \
> deploying with JWS or running an all-in-one executable jar, as it will fail to \
> properly resolve the related font and hyphenation file URIs.   See \
> [https://github.com/osandum/fop-test.git]  for a test to illustrate. This is a \
> consequence of a long standing  issue  (reported in \
> [https://bugs.openjdk.java.net/browse/JDK-8020755)]  that URI.resolve(childUri) \
> doesn't work as expected on jar:file: URIs. In this case, it  can be easily \
> remedied by a work-around to the call in \
> InternalResourceResolver.resolveFromBase(URI uri).  Patch  attached.



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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic