[
https://issues.apache.org/jira/browse/TIKA-4698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18068265#comment-18068265
]
Konrad Windszus edited comment on TIKA-4698 at 3/25/26 11:04 AM:
-----------------------------------------------------------------
Two solution approaches come to mind:
# Adopt [OSGi Service Loader
Mediator|https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.loader.html]
# Make tika-parsers-standard-package an [OSGi fragment
bundle|https://docs.osgi.org/specification/osgi.core/8.0.0/framework.module.html#framework.module.fragmentbundles]
of the tika-core bundle (that way both share a classloader)
was (Author: kwin):
Two solution approaches come to mind:
# Adopt [OSGi Service Loader
Mediator|https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.loader.html]
# Make tika-parsers-standard-package an OSGi bundle fragment of the tika-core
bundle (that way both share a classloader)
> Tika-parsers-standard-package (used as standalone bundle) fails loading
> CompositeExternalParser in OSGi
> -------------------------------------------------------------------------------------------------------
>
> Key: TIKA-4698
> URL: https://issues.apache.org/jira/browse/TIKA-4698
> Project: Tika
> Issue Type: Bug
> Components: parser
> Affects Versions: 3.3.0
> Reporter: Konrad Windszus
> Priority: Major
>
> When not using
> [tika-bundle-standard|https://github.com/apache/tika/blob/main/tika-bundles/tika-bundle-standard/pom.xml]
> but instead both
> [tika-parsers-standard-package|https://github.com/apache/tika/tree/main/tika-parsers/tika-parsers-standard/tika-parsers-standard-package]
> and [tika-core|https://github.com/apache/tika/tree/main/tika-core] as
> separate bundles the parsers are not loaded correctly. Instead the following
> exception can be observed
> with Tika 3.3.0:
> {code}
> java.lang.ClassNotFoundException:
> org.apache.tika.parser.external.CompositeExternalParser not found by
> org.apache.tika.parsers-standard-package [16]
> at
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1585)
> at
> org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79)
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1970)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
> at
> org.apache.tika.config.ServiceLoader.loadStaticServiceProviders(ServiceLoader.java:348)
> at
> org.apache.tika.parser.DefaultParser.getDefaultParsers(DefaultParser.java:105)
> at org.apache.tika.parser.DefaultParser.<init>(DefaultParser.java:52)
> at org.apache.tika.parser.DefaultParser.<init>(DefaultParser.java:70)
> at org.apache.tika.parser.DefaultParser.<init>(DefaultParser.java:79)
> at org.apache.tika.parser.internal.Activator.start(Activator.java:40)
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)