Skip to content

jaxb-osgi sources jar contains META-INF/services causing problems in OSGi containers #1836

@akurtakov

Description

@akurtakov

In OSGi environments it's quite common to have source jars included in the container. As https://repo1.maven.org/maven2/com/sun/xml/bind/jaxb-osgi/4.0.5/jaxb-osgi-4.0.5-sources.jar contains META-INF/services/* it ends ups registered as provider which the jar clearly isn't and causing issues like:

java.lang.ClassNotFoundException: org.glassfish.jaxb.runtime.v2.JAXBContextFactory cannot be found by com.sun.xml.bind.jaxb-osgi.source_4.0.5
	at org.eclipse.osgi.internal.loader.BundleLoader.generateException(BundleLoader.java:567)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:562)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:438)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:195)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:652)
	at org.glassfish.hk2.osgiresourcelocator.ServiceLoaderImpl.loadClassSecured(ServiceLoaderImpl.java:151)
	at org.glassfish.hk2.osgiresourcelocator.ServiceLoaderImpl.lookupProviderClasses1(ServiceLoaderImpl.java:123)
	at org.glassfish.hk2.osgiresourcelocator.ServiceLoader.lookupProviderClasses(ServiceLoader.java:109)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at jakarta.xml.bind.ServiceLoaderUtil.lookupUsingOSGiServiceLoader(ServiceLoaderUtil.java:60)
	at jakarta.xml.bind.ContextFinder.find(ContextFinder.java:378)
	at jakarta.xml.bind.JAXBContext.newInstance(JAXBContext.java:605)
	at jakarta.xml.bind.JAXBContext.newInstance(JAXBContext.java:546)
....

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions