-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
shiro-web jakarta only references javax and not jakarta in MANIFEST.MF #1324
Comments
[#1324] enh: added ManifestResourceTransformer to shade plugin
Thank you very much 👍 |
Hello, I've tested the main branch and the fix seems to be incomplete: it replaces the javax namespace by a jakarta one inside the manifest, but without changing the version of the import. For example, the normal package imports However, Jakarta never released a 1.3.x bundle containing jakarta.* package - they only released a transition bundle containing javax.* packages. The first version of jakarta.annotations-api containing a jakarta.* package is 2.0.0. So we need to change the version, not only the imports. I do not know what shade is able to do here - we may have to add a Maven profile to change the dependencies. @lprimak : Would it be possible to reopen this or should I create a new ticket? |
Please note that as a workaround I'm using these additions at the start of the shade rules. It's rather disgusting, but we are talking about something that is already dirty to work around the Jakarta/javax mess anyway, so if you want I can create a PR with this.
|
Thanks for the follow-up. If yes, please open another issue. |
The original line So OK I'll open an issue, thanks for the answer. |
Yes |
I fully agree. The javax/jakarta issue is too complicated to be made a packaging detail. I see you are already discussing this in #1351 so I'll just concentrate on fixing 2.0.1. I see a few reasonable ways to get out of this.
|
Search before asking
Environment
Java 17
Shiro version
shiro-web 1.13.0 jakarta classifier
What was the actual outcome?
The MANIFEST.MF contains references towards
javax.servlet
and notjakarta.servlet
What was the expected outcome?
The MANIFEST.MF only contains references towards
jakarta.servlet
and notjavax.servlet
How to reproduce
There are 2 ways to see the issue:
jakarta/servlet/Filter
as the bundle classloader is not configured to loadjakarta.servlet
package butjavax.servlet
javax
and notjakarta
Debug logs
No response
The text was updated successfully, but these errors were encountered: