-
Notifications
You must be signed in to change notification settings - Fork 396
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
Provide Jakarta compatible build #349
Comments
Has there been any progress on this? It has been more than a year since Jakarta EE 9 was released. |
The change is very easy, but once you make it. the version is not valid for systems with older libraries. I don't know how to do it in a sustainable way. |
I need this jakarta.servlet compliant dependency too. For now i will duplicate the 2 dummy Auth/ServletUtils classes on my side and manually change the servlet pkg name, but it would be better to avoid such fork. I tried a workaround with zero java code impact in #379 to be 100% retro-compatible, please let me know if such trick could ever go upstream to avoid maintaining the dummy fork (any advice to improve are welcome). |
I think it would be ideal if Meaning, replace all usages of With that swap in place, the consumers of this library could provide their own In theory, this would also allow And FWIW, I understand what I'm proposing is effectively a backwards incompatible change. But it definitely seems like this is the right seam on which CC // @pitbulk |
FWIW, other project have started with two release tracks, one for javax, one for jakarta. Dropwizard, and Hibernate to name a few. |
Any chance for going forward with than anytime soon? Payara Community plans to work only with jakarta starting from version 6 so it will be crucial to make it usable with payara community. |
Hi @veselov ,
I made this PR to share a quickwin workaround without in-depth code modification, but i totally agree with the @markkolich 's comment above: all these specific servlet-like dependancies should move out of the highlevel helper methods of the project, and to be replaced by samples to load a generic "onelogin servlet" from all other servlets-like object (javax, jakarta, jersey, ...): Basically, the underlying code doesn't need a real servlet but only some fields (url, http verb, ...) and a callback for the case when there is an automatic redirection |
Are there any plans for supporting jakarta in the near future? An additional jakarta classifier dependency would be ideal. |
HI all, we need to work on a long term solution. Is #379 ok or should we go for the solution proposed by @markkolich? |
I personally think @markkolich solution is better. I don't have looked at this thoroughly, but I remember servlet dependencies are mainly (only?) in the toolkit project, rather than in the core project. If we could create a common toolkit project independent of the servlet API and then two additional projects toolkit-jee and toolkit-jakarta on top the common toolkit project, the consumer applications may use one of these two top-level dependencies, depending on whether they need the JEE or the Jakarta one. The current Auth class would be split into a common part in toolkit (independent of servlet API) and a top interface to be put in toolkit-jee, perhaps with the same API (and possibly package?) of the current one. Then, another JakartaAuth could be put into toolkit-jakarta which does the same of Auth but uses Jakarta API. |
#379 is OK, i.e., it works. It's also along the path that most of the J2EE-based libraries have taken to resolve this mess. Whether you want to lose all J2EE dependencies should, IMHO, be based on how much general interest there is to do so. Are there other libraries that do server-side SAML, and are not tied with J2EE APIs? There is OpenSAML, that seems to have stagnated in general. I can't even find their JavaDocs. So, IMO - do #379 right now, so people don't have to use their custom solutions, and then work on isolating from J2EE separately. |
@pitbulk @veselov @mauromol @lounagen here's my proposed long term solution: #395 which completely removes all J2EE dependencies from I ripped out all usages of the servlet API and completely divorced Consumers outside of a servlet container can provide their own implementations (Spray, Akka, Play, etc.) of Additional notes are in the PR. Thoughts and feedback are very welcome. |
Until a jakarta version is out, i have a workaround thats quite easy to use and works well.
For example:
Those wrapper classes wire all methods from jakarta to javax namespace used in java-saml. |
JakartaEE 9.x is available which uses a new package
jakarta
instead ofjavax
. Therefore the currently available jars are not compatible with runtimes based on JakartaEE 9.x.A possible solution would be the usage of the eclipse transformer plugin, which produces an additional jar file with updated imports, etc.
The text was updated successfully, but these errors were encountered: