I've got an OSGi application running in Apache Felix 5.6.1. There are
CXF services in there.
For testing, I have a JUnit test that launches Felix. And the it tries
to use the CXF JAX-RS client. And then things go pearshaped.
Something in this list of three dependencies (and their transitive
hangers-on) somehow leaks through the system bundle and leads to
chaos.
I've pasted the entire list of system bundle package exports from the
Felix web console at the bottom of this message. It is not obvious to
me that CXF would have classes in any of these packages.
These two seem vaguely possible.
javax.jws,version=0.0.0.1_008_JavaSE
javax.jws.soap,version=0.0.0.1_008_JavaSE
Does anyone know? I can, I suppose, change the tests to do their
business without the CXF client if I can't work out anything else.
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>3.1.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<scope>test</scope>
</dependency>
Here is the very long list:
com.basistech.ws.launcher.utils.api,version=1.4.104.SNAPSHOT
javax.accessibility,version=0.0.0.1_008_JavaSE
javax.activation,version=0.0.0.1_008_JavaSE
javax.activity,version=0.0.0.1_008_JavaSE
javax.annotation,version=0.0.0.1_008_JavaSE
javax.annotation.processing,version=0.0.0.1_008_JavaSE
javax.crypto,version=0.0.0.1_008_JavaSE
javax.crypto.interfaces,version=0.0.0.1_008_JavaSE
javax.crypto.spec,version=0.0.0.1_008_JavaSE
javax.imageio,version=0.0.0.1_008_JavaSE
javax.imageio.event,version=0.0.0.1_008_JavaSE
javax.imageio.metadata,version=0.0.0.1_008_JavaSE
javax.imageio.plugins.bmp,version=0.0.0.1_008_JavaSE
javax.imageio.plugins.jpeg,version=0.0.0.1_008_JavaSE
javax.imageio.spi,version=0.0.0.1_008_JavaSE
javax.imageio.stream,version=0.0.0.1_008_JavaSE
javax.jws,version=0.0.0.1_008_JavaSE
javax.jws.soap,version=0.0.0.1_008_JavaSE
javax.lang.model,version=0.0.0.1_008_JavaSE
javax.lang.model.element,version=0.0.0.1_008_JavaSE
javax.lang.model.type,version=0.0.0.1_008_JavaSE
javax.lang.model.util,version=0.0.0.1_008_JavaSE
javax.management,version=0.0.0.1_008_JavaSE
javax.management.loading,version=0.0.0.1_008_JavaSE
javax.management.modelmbean,version=0.0.0.1_008_JavaSE
javax.management.monitor,version=0.0.0.1_008_JavaSE
javax.management.openmbean,version=0.0.0.1_008_JavaSE
javax.management.relation,version=0.0.0.1_008_JavaSE
javax.management.remote,version=0.0.0.1_008_JavaSE
javax.management.remote.rmi,version=0.0.0.1_008_JavaSE
javax.management.timer,version=0.0.0.1_008_JavaSE
javax.naming,version=0.0.0.1_008_JavaSE
javax.naming.directory,version=0.0.0.1_008_JavaSE
javax.naming.event,version=0.0.0.1_008_JavaSE
javax.naming.ldap,version=0.0.0.1_008_JavaSE
javax.naming.spi,version=0.0.0.1_008_JavaSE
javax.net,version=0.0.0.1_008_JavaSE
javax.net.ssl,version=0.0.0.1_008_JavaSE
javax.print,version=0.0.0.1_008_JavaSE
javax.print.attribute,version=0.0.0.1_008_JavaSE
javax.print.attribute.standard,version=0.0.0.1_008_JavaSE
javax.print.event,version=0.0.0.1_008_JavaSE
javax.rmi,version=0.0.0.1_008_JavaSE
javax.rmi.CORBA,version=0.0.0.1_008_JavaSE
javax.rmi.ssl,version=0.0.0.1_008_JavaSE
javax.script,version=0.0.0.1_008_JavaSE
javax.security.auth,version=0.0.0.1_008_JavaSE
javax.security.auth.callback,version=0.0.0.1_008_JavaSE
javax.security.auth.kerberos,version=0.0.0.1_008_JavaSE
javax.security.auth.login,version=0.0.0.1_008_JavaSE
javax.security.auth.spi,version=0.0.0.1_008_JavaSE
javax.security.auth.x500,version=0.0.0.1_008_JavaSE
javax.security.cert,version=0.0.0.1_008_JavaSE
javax.security.sasl,version=0.0.0.1_008_JavaSE
javax.sound.midi,version=0.0.0.1_008_JavaSE
javax.sound.midi.spi,version=0.0.0.1_008_JavaSE
javax.sound.sampled,version=0.0.0.1_008_JavaSE
javax.sound.sampled.spi,version=0.0.0.1_008_JavaSE
javax.sql,version=0.0.0.1_008_JavaSE
javax.sql.rowset,version=0.0.0.1_008_JavaSE
javax.sql.rowset.serial,version=0.0.0.1_008_JavaSE
javax.sql.rowset.spi,version=0.0.0.1_008_JavaSE
javax.swing,version=0.0.0.1_008_JavaSE
javax.swing.border,version=0.0.0.1_008_JavaSE
javax.swing.colorchooser,version=0.0.0.1_008_JavaSE
javax.swing.event,version=0.0.0.1_008_JavaSE
javax.swing.filechooser,version=0.0.0.1_008_JavaSE
javax.swing.plaf,version=0.0.0.1_008_JavaSE
javax.swing.plaf.basic,version=0.0.0.1_008_JavaSE
javax.swing.plaf.metal,version=0.0.0.1_008_JavaSE
javax.swing.plaf.multi,version=0.0.0.1_008_JavaSE
javax.swing.plaf.nimbus,version=0.0.0.1_008_JavaSE
javax.swing.plaf.synth,version=0.0.0.1_008_JavaSE
javax.swing.table,version=0.0.0.1_008_JavaSE
javax.swing.text,version=0.0.0.1_008_JavaSE
javax.swing.text.html,version=0.0.0.1_008_JavaSE
javax.swing.text.html.parser,version=0.0.0.1_008_JavaSE
javax.swing.text.rtf,version=0.0.0.1_008_JavaSE
javax.swing.tree,version=0.0.0.1_008_JavaSE
javax.swing.undo,version=0.0.0.1_008_JavaSE
javax.tools,version=0.0.0.1_008_JavaSE
javax.transaction,version=0.0.0.1_008_JavaSE
javax.transaction.xa,version=0.0.0.1_008_JavaSE
javax.xml,version=0.0.0.1_008_JavaSE
javax.xml.bind,version=0.0.0.1_008_JavaSE
javax.xml.bind.annotation,version=0.0.0.1_008_JavaSE
javax.xml.bind.annotation.adapters,version=0.0.0.1_008_JavaSE
javax.xml.bind.attachment,version=0.0.0.1_008_JavaSE
javax.xml.bind.helpers,version=0.0.0.1_008_JavaSE
javax.xml.bind.util,version=0.0.0.1_008_JavaSE
javax.xml.crypto,version=0.0.0.1_008_JavaSE
javax.xml.crypto.dom,version=0.0.0.1_008_JavaSE
javax.xml.crypto.dsig,version=0.0.0.1_008_JavaSE
javax.xml.crypto.dsig.dom,version=0.0.0.1_008_JavaSE
javax.xml.crypto.dsig.keyinfo,version=0.0.0.1_008_JavaSE
javax.xml.crypto.dsig.spec,version=0.0.0.1_008_JavaSE
javax.xml.datatype,version=0.0.0.1_008_JavaSE
javax.xml.namespace,version=0.0.0.1_008_JavaSE
javax.xml.parsers,version=0.0.0.1_008_JavaSE
javax.xml.soap,version=0.0.0.1_008_JavaSE
javax.xml.stream,version=0.0.0.1_008_JavaSE
javax.xml.stream,version=1.2.0
javax.xml.stream.events,version=0.0.0.1_008_JavaSE
javax.xml.stream.events,version=1.2.0
javax.xml.stream.util,version=0.0.0.1_008_JavaSE
javax.xml.stream.util,version=1.2.0
javax.xml.transform,version=0.0.0.1_008_JavaSE
javax.xml.transform.dom,version=0.0.0.1_008_JavaSE
javax.xml.transform.sax,version=0.0.0.1_008_JavaSE
javax.xml.transform.stax,version=0.0.0.1_008_JavaSE
javax.xml.transform.stream,version=0.0.0.1_008_JavaSE
javax.xml.validation,version=0.0.0.1_008_JavaSE
javax.xml.ws,version=0.0.0.1_008_JavaSE
javax.xml.ws.handler,version=0.0.0.1_008_JavaSE
javax.xml.ws.handler.soap,version=0.0.0.1_008_JavaSE
javax.xml.ws.http,version=0.0.0.1_008_JavaSE
javax.xml.ws.soap,version=0.0.0.1_008_JavaSE
javax.xml.ws.spi,version=0.0.0.1_008_JavaSE
javax.xml.ws.spi.http,version=0.0.0.1_008_JavaSE
javax.xml.ws.wsaddressing,version=0.0.0.1_008_JavaSE
javax.xml.xpath,version=0.0.0.1_008_JavaSE
org.ietf.jgss,version=0.0.0.1_008_JavaSE
org.omg.CORBA,version=0.0.0.1_008_JavaSE
org.omg.CORBA.DynAnyPackage,version=0.0.0.1_008_JavaSE
org.omg.CORBA.ORBPackage,version=0.0.0.1_008_JavaSE
org.omg.CORBA.TypeCodePackage,version=0.0.0.1_008_JavaSE
org.omg.CORBA.portable,version=0.0.0.1_008_JavaSE
org.omg.CORBA_2_3,version=0.0.0.1_008_JavaSE
org.omg.CORBA_2_3.portable,version=0.0.0.1_008_JavaSE
org.omg.CosNaming,version=0.0.0.1_008_JavaSE
org.omg.CosNaming.NamingContextExtPackage,version=0.0.0.1_008_JavaSE
org.omg.CosNaming.NamingContextPackage,version=0.0.0.1_008_JavaSE
org.omg.Dynamic,version=0.0.0.1_008_JavaSE
org.omg.DynamicAny,version=0.0.0.1_008_JavaSE
org.omg.DynamicAny.DynAnyFactoryPackage,version=0.0.0.1_008_JavaSE
org.omg.DynamicAny.DynAnyPackage,version=0.0.0.1_008_JavaSE
org.omg.IOP,version=0.0.0.1_008_JavaSE
org.omg.IOP.CodecFactoryPackage,version=0.0.0.1_008_JavaSE
org.omg.IOP.CodecPackage,version=0.0.0.1_008_JavaSE
org.omg.Messaging,version=0.0.0.1_008_JavaSE
org.omg.PortableInterceptor,version=0.0.0.1_008_JavaSE
org.omg.PortableInterceptor.ORBInitInfoPackage,version=0.0.0.1_008_JavaSE
org.omg.PortableServer,version=0.0.0.1_008_JavaSE
org.omg.PortableServer.CurrentPackage,version=0.0.0.1_008_JavaSE
org.omg.PortableServer.POAManagerPackage,version=0.0.0.1_008_JavaSE
org.omg.PortableServer.POAPackage,version=0.0.0.1_008_JavaSE
org.omg.PortableServer.ServantLocatorPackage,version=0.0.0.1_008_JavaSE
org.omg.PortableServer.portable,version=0.0.0.1_008_JavaSE
org.omg.SendingContext,version=0.0.0.1_008_JavaSE
org.omg.stub.java.rmi,version=0.0.0.1_008_JavaSE
org.osgi.dto,version=1.0.0
org.osgi.framework,version=1.8.0
org.osgi.framework.dto,version=1.8.0
org.osgi.framework.hooks.bundle,version=1.1.0
org.osgi.framework.hooks.resolver,version=1.0.0
org.osgi.framework.hooks.service,version=1.1.0
org.osgi.framework.hooks.weaving,version=1.1.0
org.osgi.framework.launch,version=1.2.0
org.osgi.framework.namespace,version=1.1.0
org.osgi.framework.startlevel,version=1.0.0
org.osgi.framework.startlevel.dto,version=1.0.0
org.osgi.framework.wiring,version=1.2.0
org.osgi.framework.wiring.dto,version=1.2.0
org.osgi.resource,version=1.0.0
org.osgi.resource.dto,version=1.0.0
org.osgi.service.packageadmin,version=1.2.0
org.osgi.service.resolver,version=1.0.0
org.osgi.service.startlevel,version=1.1.0
org.osgi.service.url,version=1.0.0
org.osgi.util.tracker,version=1.5.1
org.slf4j,version=1.7.5
org.slf4j.impl,version=1.7.5
org.slf4j.spi,version=1.7.5
org.w3c.dom,version=0.0.0.1_008_JavaSE
org.w3c.dom.bootstrap,version=0.0.0.1_008_JavaSE
org.w3c.dom.events,version=0.0.0.1_008_JavaSE
org.w3c.dom.ls,version=0.0.0.1_008_JavaSE
org.xml.sax,version=0.0.0.1_008_JavaSE
org.xml.sax.ext,version=0.0.0.1_008_JavaSE
org.xml.sax.helpers,version=0.0.0.1_008_JavaSE
sun.misc,version=0.0.0