Hi Paul, I'm running Karaf 4.4.6. I have no problem hosting a REST service, that is why I brought in the 'aries-jax-rs-whiteboard-jackson' feature. Now I am trying to create a REST client. To do that I'm programming against the JAX-RS 2.1 specification whose implmentation (CXF) should be picked up (it was installed with the feature noted above). The following code snippet produces the error:
final Client client = ClientBuilder.newClient(); I wanted to specifically program against the API rather than the implementation (CXF) for JAX-RS 2.1. Something has gone wrong with the implementation discovery process as a result of creating a new client (namely it can't seem to find the ProviderLocator class). Can you reproduce this with just the following line above after that feature is installed? -- Chaz On Wed, Aug 14, 2024 at 05:15:46PM GMT, Paul Spencer wrote: > Chaz, > What is version of Karaf you are using? > > I am using Karaf 4.4.3 to host a REST service that accepts and generated JSON > payloads, so I know this works with the following features installed*. > > Name │ Version > aries-jax-rs-whiteboard │ 2.0.2 > aries-jax-rs-whiteboard-jackson │ 2.0.2 > cxf-jackson │ 3.5.5 > cxf-jaxrs │ 3.5.5 > jackson │ 2.14.1 > jackson-jaxrs │ 2.14.1 > jakarta.annotation │ 1.3.5 > pax-web-jetty │ 9.4.50.v2022120 > pax-web-whiteboard │ 8.0.15 > > * The installed feature list may not be complete, as I only listed feature > that looked relevant. Also some feature where installed as dependencies. > Below is the dependencies for my REST application. > Feature depends on: > cxf-jaxrs 0.0.0 > jackson-jaxrs 0.0.0 > pax-web-http-whiteboard 0.0.0 > pax-web-karaf 0.0.0 > aries-jax-rs-whiteboard 0.0.0 > aries-jax-rs-whiteboard-jackson 0.0.0 > > > Paul Spencer > > > On 2024/08/14 14:25:40 "apache-karaf-user.pyr3x.com via user" wrote: > > On Tue, Aug 13, 2024 at 07:31:36PM GMT, apache-karaf-user.pyr3x.com via > > user wrote: > > > Hello, > > > > > > I'm having an issue creating a javax.ws.rs.client.Client. I'm > > > programming against the Java EE APIs for javax.ws.rs. I've brought in > > > the 'aries-jax-rs-whiteboard-jackson' feature which should ultimately > > > bring in an implementation that can be located. It seems after googling > > > around that the ProviderLocator was used internally and usually shaded. > > > At some point this changed, and bringing it in as a depndency manually > > > still fails. > > > > > > Perhaps this is relevant? https://issues.apache.org/jira/browse/TOMEE-2690 > > > > > > java.lang.NoClassDefFoundError: > > > org/apache/geronimo/osgi/locator/ProviderLocator > > > at javax.ws.rs.client.ClientFinder.find(ClientFinder.java:46) > > > ~[?:?] > > > at > > > javax.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:44) ~[?:?] > > > at > > > javax.ws.rs.client.ClientBuilder.newClient(ClientBuilder.java:55) ~[?:?] > > > > > > Any help would be appreciated. > > > > > > -- > > > Chaz > > > > I noticed that the Apache Aries JAX-RS Specification API jar has the > > following header: > > > > Bundle-ClassPath > > .,lib/geronimo-osgi-locator.jar > > > > Could this be causing the issue? > > > > -- > > Chaz > >
