eclipse-ee4j / eclipse-ee4j/jersey

OSGi: Inclusion of Jackson introduces requirement for jersey-server

Open
#6,071 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.