jakartaee / jakartaee/rest

javax.ws.rs-api is not repackagable

Open
#520 3 comments 0 reactions 1 assignee Claimed by @glassfishrobot View on GitHub
Component: runtime
Dominant language
Java
Stars
400
Forks
143
PR merge metrics
No merged PRs in 30d

Description

It's easy to meet jar hell with conflict between javax.ws.rs-api.jar and jersey-X-1.x.jar (X could be core|server|client). For example, hadoop depends on jersey-X-1.x, while many other libraries depends on javax.ws.rs-api, such as docker-java. This make it hard to write application running on hadoop and using such libraries.
OSGi is one solution, and repackaging([http://repackage.org/](http://repackage.org/)) is another, and much simpler, more lightweight than OSGi.
Repackaging works for most jars, but doesn't for javax.ws.rs-api. The reason lies in javax.ws.rs.ext.RuntimeDelegate, which uses hard coded string "javax.ws.rs.ext.RuntimeDelegate" as argument of FactoryFinder.find.
We could replace the hard coded string with

```
RuntimeDelegate.class.getCanonicalName();
```

And javax.ws.rs-api will be repackagable.

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.