refactor: mechanical javax->jakarta import rename (PR 2 of jakarta migration #861)#878
Conversation
Mechanical OpenRewrite rename (JavaxMigrationToJakarta), imports only. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Mechanical OpenRewrite rename, imports only. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…, api, root) (PR2 #861) Mechanical OpenRewrite rename, imports only. The invalidate()->logout() behavioral change OpenRewrite bundled into Login/Logout/MobileLogin/SLS/ACS was reverted; these commits are pure import renames. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Mechanical OpenRewrite rename, imports only. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Mechanical OpenRewrite rename, imports only. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CI dispatch — Build and TestManually dispatched "Build and Test" against this branch ( This branch is stacked on #877, so the run exercises PR 1 + PR 2 combined. Result: red — |
There was a problem hiding this comment.
Pull request overview
Second step in the Jakarta migration (#861): mechanically renames Java EE javax.* imports to Jakarta EE jakarta.* across application, unit-test, and integration-test code so the codebase aligns with the Jakarta/Tomcat 10 / Spring 6 baseline introduced in PR #877.
Changes:
- Replace
javax.servlet.*imports withjakarta.servlet.*(servlets, filters, listeners, tests). - Replace
javax.mail.*imports withjakarta.mail.*(mail validation utility). - Keep JDK-owned
javax.*namespaces intact where applicable (e.g.,javax.crypto.*,javax.xml.parsers.*).
Reviewed changes
Copilot reviewed 170 out of 170 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/test/java/testUtils/TestProperties.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/test/java/listeners/DatabaseLifecycleListenerTest.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/utils/Validate.java | javax.mail.*/javax.servlet.* → jakarta.mail.*/jakarta.servlet.* import rename |
| src/main/java/servlets/SSOMetadata.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/SSOLogin.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/SLS.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/SetupFilter.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/Setup.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/Register.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/SolutionSubmit.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/RefreshMenu.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/ModuleServletTemplate.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/lesson/XxeLesson.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/lesson/XssLesson.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/lesson/UnvalidatedForwardsLesson.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/lesson/SqlInjectionLesson.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/lesson/SessionManagementLesson.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/lesson/SecurityMisconfigLesson.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/lesson/RedirectLessonTarget.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/lesson/Redirect.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/lesson/PoorValidationLesson.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/lesson/DirectObjectLesson.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/lesson/CsrfLessonTarget.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/lesson/CsrfLesson.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/GetModule.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/GetCheat.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/FeedbackSubmit.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/XxeChallenge1OldWebService.java | javax.servlet.* → jakarta.servlet.* import rename (wildcard expanded) |
| src/main/java/servlets/module/challenge/XxeChallenge1.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/XssChallengeTwo.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/XssChallengeThree.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/XssChallengeSix.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/XssChallengeOne.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/XssChallengeFour.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/XssChallengeFive.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/UrlAccess3UserList.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/UrlAccess3.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/UrlAccess2Admin.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/UrlAccess2.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/UrlAccess1Admin.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/UrlAccess1.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SqlInjectionStoredProcedure.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SqlInjectionEscaping.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SqlInjectionEmail.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SqlInjection7.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SqlInjection6.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SqlInjection5VipCheck.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SqlInjection5CouponCheck.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SqlInjection5.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SqlInjection4.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SqlInjection3.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SqlInjection1.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SessionManagement8.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SessionManagement7SecretQuestion.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SessionManagement7.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SessionManagement6SecretQuestion.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SessionManagement6.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SessionManagement5SetToken.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SessionManagement5ChangePassword.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SessionManagement5.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SessionManagement4.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SessionManagement3ChangePassword.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SessionManagement3.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SessionManagement2ChangePassword.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SessionManagement2.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SessionManagement1.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/SecurityMisconfigStealTokens.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/PoorValidation2.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/PoorValidation1.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/NoSqlInjection1.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/DirectObjectBankTransfer.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/DirectObjectBankRegistration.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/DirectObjectBankLogout.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/DirectObjectBankLogin.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/DirectObjectBankCurrentBalance.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/DirectObject2.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/DirectObject1.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeTwo.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeThree.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeTargetTwo.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeTargetThree.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeTargetSix.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeTargetSeven.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeTargetOne.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeTargetJSON.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeTargetFour.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeTargetFive.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeSixGetToken.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeSix.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeSevenGetToken.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeSeven.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeOne.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeJSON.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeFour.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/CsrfChallengeFive.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/BrokenCryptoHomeMade.java | javax.servlet.* → jakarta.servlet.* import rename (JDK javax.crypto.* kept) |
| src/main/java/servlets/module/challenge/BrokenCrypto4.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/module/challenge/BrokenCrypto3.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/MobileLogin.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/Logout.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/Login.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/GetJsonScore.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/ChangeUsername.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/ChangePassword.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/api/Scoreboard.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/api/Levels.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/api/Cheats.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/userManagement/UpgradePlayer.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/userManagement/UnSuspendUser.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/userManagement/SuspendUser.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/userManagement/SetDefaultClass.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/userManagement/GiveTakePoints.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/userManagement/GetPlayersByClass.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/userManagement/DowngradeAdmin.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/userManagement/DeletePlayers.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/userManagement/CreateNewAdmin.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/userManagement/CreateClass.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/userManagement/ChangeUserPassword.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/userManagement/AssignPlayers.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/userManagement/AddPlayer.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/moduleManagement/SetModuleStatus.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/moduleManagement/RemoveModuleLock.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/moduleManagement/OpenWebModules.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/moduleManagement/OpenOrCloseByCategory.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/moduleManagement/OpenMobileModules.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/moduleManagement/OpenAllModules.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/moduleManagement/GetProgress.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/moduleManagement/GetJsonProgress.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/moduleManagement/GetFeedback.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/moduleManagement/EnableModuleBlock.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/moduleManagement/CloseAllModules.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/config/ToggleRegistration.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/config/SetTournamentMode.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/config/SetOpenFloorMode.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/config/SetCtfMode.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/config/SetCountdown.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/config/EnableScoreboard.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/config/EnableFeedback.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/config/EnableCheats.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/config/DisableScoreboard.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/config/DisableFeedback.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/config/DisableCheats.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/admin/config/ChangeCoreDatabase.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/servlets/ACS.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/main/java/listeners/DatabaseLifecycleListener.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/SetupIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/module/lesson/SessionManagementLessonIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/module/lesson/CsrfLessonIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/module/GetModuleIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/module/challenge/NoSqlInjection1IT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/module/challenge/BrokenCryptoHomeMadeIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/LogoutIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/LoginIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/api/LevelsIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/userManagement/DeletePlayersIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/moduleManagement/OpenOrCloseByCategoryIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/moduleManagement/OpenAllModulesIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/moduleManagement/GetJsonProgressIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/moduleManagement/GetFeedbackIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/moduleManagement/EnableModuleBlockIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/moduleManagement/CloseAllModulesTestIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/config/ToggleRegistrationIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/config/SetTournamentModeIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/config/SetOpenFloorModeIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/config/SetCtfModeIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/config/EnableFeedbackIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/config/EnableCheatsIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/config/DisableScoreboardIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/config/DisableFeedbackIT.java | javax.servlet.* → jakarta.servlet.* import rename |
| src/it/java/servlets/admin/config/DisableCheatsIT.java | javax.servlet.* → jakarta.servlet.* import rename |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
SeanDuggan
left a comment
There was a problem hiding this comment.
No issues that I can see here.
PR 2 of the Jakarta migration (#861) — mechanical javax → jakarta rename
Second sub-PR. Stacked on #877 (base =
pr1-jakarta-build-config), so the diff shows only this step. Retarget base tofeat/jakarta-migrationonce #877 merges.What this is
The bulk
import javax.* → import jakarta.*rename across 170 files, generated by OpenRewrite:org.openrewrite.java.migrate.jakarta.JavaxMigrationToJakartaorg.openrewrite.recipe:rewrite-migrate-java:RELEASESplit into 5 package-scoped commits (challenge / admin / remaining servlets / other src/main / it+test) so it can be reviewed commit-by-commit.
Reviewer notes — trust by construction
javax.* → jakarta.*import lines.ses.invalidate()→request.logout()inLogin,Logout,MobileLogin,SLS,ACS. These are not equivalent (request.logout()doesn't clear session attributes;LogoutITassertsuserStamp == nullafter logout and would fail). Reverted — out of scope for a rename PR.web.xml/tomcatShepherdSampleWeb.xmlnamespaces. Reverted — those belong to PR 3.javax.crypto.*(2 files) andjavax.xml.parsers.*(4 files) — JDK/JCA, not Jakarta.Verification —⚠️ does NOT compile standalone yet (expected)
The import rename itself is correct and pure (only
javax.* → jakarta.*import lines). But PR 1 + PR 2 combined does not yet compile:com.onelogin:java-saml:2.9.0is a javax-only library, so the SAML servlets (ACS/SLS/SSOLogin/Logout) fail to compile againstjakarta.servlet.*.That is an intrinsic #861 migration blocker, being fixed in its own dedicated PR (bump to
java-saml3.0.0 +java-saml-servlet-jakarta, rewrite the 4 SAML servlets) — deliberately not folded into this mechanical rename.So CI on this branch is red by design (see comment below) — caused by the java-saml blocker, not the rename. The green gate for the migration is the eventual draft umbrella PR
feat/jakarta-migration → dev, once the java-saml PR is also merged intofeat.(Correction to an earlier note: a non-
cleanlocalmvn test-compilegave a false green;mvn clean test-compileand CI both fail. Alwaysclean.)Refs #861.
🤖 Generated with Claude Code