[
https://issues.apache.org/jira/browse/SLING-11747?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Munteanu resolved SLING-11747.
-------------------------------------
Resolution: Fixed
> Unable to override the built-in content package feature model extension
> -----------------------------------------------------------------------
>
> Key: SLING-11747
> URL: https://issues.apache.org/jira/browse/SLING-11747
> Project: Sling
> Issue Type: Bug
> Components: Feature Model
> Affects Versions: Feature Model Launcher 1.2.2
> Reporter: Robert Munteanu
> Assignee: Robert Munteanu
> Priority: Major
> Fix For: Feature Model Launcher 1.2.4
>
>
> With SLING-10956 we now have an assembly which allows us to drop in
> additional extensions and/or dependencies in the lib directory and have them
> located by the Feature Launcher using the {{ServiceLoader}} mechanism.
> That mechanism does not work for the [content
> extension|https://github.com/apache/sling-org-apache-sling-feature-extension-content].
> This extension is special because the handler it provides -
> https://github.com/apache/sling-org-apache-sling-feature-extension-content/blob/master/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java
> - is supposed to override the buit-in handler from
> https://github.com/apache/sling-org-apache-sling-feature-launcher/blob/master/src/main/java/org/apache/sling/feature/launcher/impl/extensions/handlers/ContentPackageHandler.java
> .
> It seems that the way the classpath is created by the launcher script does
> not allow 'extension' jars to override classes provided by the main jar file.
> I have looked at the [ServiceLoader
> javadoc|https://docs.oracle.com/javase/8/docs/api/index.html?java/util/ServiceLoader.html]
> and it states that
> {quote}When adding providers to the cache, the Iterator processes resources
> in the order that the ClassLoader.getResources(String) method finds the
> service configuration files.{quote}
> In practice, I was only able to make the extension override the build-in
> handled by prepending it to the classpath.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)