eclipse-ee4j / eclipse-ee4j/jersey
OSGi: Inclusion of Jackson introduces requirement for jersey-server
- Dominant language
- Java
- Stars
- 730
- Forks
- 382
- PR merge metrics
- No merged PRs in 30d
Description
I am trying to use Jackson with a shared `ObjectMapper` configuration on both server and client. In OSGi environment, it seems that **inclusion of `jersey-media-json-jackson` introduces a requirement for `jersey-server` dependency**.
The cause to me seems to be that `jersey-media-json-jackson` has a dependency to `jersey-entity-filtering`. The `META-INF/MANIFEST.MF`in `jersey-entity-filtering` seems to declare `Import-Package` to packages exported by the `jersey-server` bundle.
The `maven-bundle-plugin` configuration in `jersey-entity-filtering/pom.xml`:
```
org.glassfish.jersey.message.filtering.*;version=${project.version}
${jakarta.annotation.osgi.version},
${jakarta.rest.osgi.version},
*
true
```
and dependencies of `jersey-entity-filtering`:
```
jakarta.xml.bind
jakarta.xml.bind-api
provided
org.glassfish.jersey.core
jersey-client
${project.version}
provided
org.glassfish.jersey.core
jersey-server
${project.version}
provided
org.glassfish.jersey.test-framework
jersey-test-framework-core
${project.version}
test
```
My understanding is that the `*`-import resolves also `server` (+ `client`?) packages. **Is this intended?**
Dependencies used:
```
org.glassfish.jersey.core
jersey-client
4.0.2
org.glassfish.jersey.core
jersey-server
4.0.2
org.glassfish.jersey.media
jersey-media-json-jackson
4.0.2
org.glassfish.jersey.ext
jersey-entity-filtering
4.0.2
```
Contributor guide
Assessment
This issue has not been assessed yet.