WebSphere uses the URL scheme 'wsjar://...' for the JARs it loads rather than the standard 'jar://...'. This means that Jersey applications hosted by WebSphere don't work because ResourceConfig.packages() and PackageNamesScanner can't resolve the URLs.
Currently I'm working around this issue by registering a PackageNamesScanner.ResourcesProvider that rewrites the 'wsjar' URLs to 'jar' before loading them, however this might be fragile (I'm relying on WebSphere's classloader to resolve jar URLs when it's expecting wsjar URLs, which might not be safe) and I think the correct solution is to register a new ResourceFinderFactory that handles the wsjar URL scheme, but currently there's no way to do this other than duplicating and extending much of the PackageNamesScanner code.
The PackageNamesScanner constructor has these lines:
If this support were in place then I could register a new factory for the wsjar scheme.