javax.ws.rs-api is not repackagable
- 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
Assessment
This issue has not been assessed yet.