Repository navigation
build: target Jakarta EE 11 / Servlet 6.1 / Tomcat 11 / Spring 7 (PR 4 of jakarta migration #861) - #936
Open
ismisepaul wants to merge 3 commits into
Open
build: target Jakarta EE 11 / Servlet 6.1 / Tomcat 11 / Spring 7 (PR 4 of jakarta migration #861)#936ismisepaul wants to merge 3 commits into
ismisepaul wants to merge 3 commits into
Conversation
- jakarta.servlet-api 6.0.0 -> 6.1.0 (Jakarta EE 11) - Tomcat base image 10.1 -> 11.0-jre17-temurin (Servlet 6.1 container) - Spring 6.1.21 -> 7.0.10 via a spring.version property. 6.1 and 6.2 are past OSS support; 7.0 is the supported line and is built against Servlet 6.1. Spring is only used for spring-test's servlet mocks, so spring-context is now test-scoped like the rest. - jstl-api 3.0.0 -> 3.0.2, angus-mail 2.0.3 -> 2.0.5 (patch bumps) Refs #861 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
🔵 Needs a closer look
Full-stack compatibility remains unverified while SAML build fixes and Tomcat 11 runtime validation are deferred to later stacked PRs.
No open issues 🎉
What changed in this PR
This fourth PR in the Jakarta migration stack (#861), stacked on #935, aligns build dependencies and the container image with Jakarta EE 11.
Changes:
- Upgrades to Servlet 6.1, Spring 7.0.10, and Tomcat 11.
- Centralizes Spring versions and moves
spring-contextto test scope. - Updates JSTL API and Angus Mail patch versions.
| File | Description |
|---|---|
pom.xml |
Updates Jakarta and Spring dependencies and limits Spring Context to tests. |
.env |
Selects the Tomcat 11 Java 17 container image. |
Review effort: Balanced
ismisepaul
added this pull request to stack #943
October 22, 2026 21:01
This PR moves the base image to Tomcat 11, but the server.xml / web.xml patches applied during the image build were still written against older Tomcat config files. On Tomcat 11, serverxml.patch fails one hunk, so `docker compose build` (the CI build job) failed on every branch between this one and PR 6, which regenerated them. Moves those changes here, next to the image change they depend on: - serverxml.patch regenerated against Tomcat 11.0.27; HTTPS connector uses <SSLHostConfig>/<Certificate> instead of the legacy Connector keystore attributes - webxml.patch regenerated as an exact diff (GNU patch previously needed fuzz 2 at a -4108 line offset) - Dockerfile placeholder substitution for the new attribute names Content is identical to PR 6's; merging up the stack is a no-op there. Refs #861 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ismisepaul
removed this pull request from stack #943
October 23, 2026 06:26
ismisepaul
added this pull request to stack #945
October 23, 2026 06:27
ismisepaul
removed this pull request from stack #945
October 23, 2026 06:28
ismisepaul
added this pull request to stack #947
October 23, 2026 10:38
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR 4 of the Jakarta migration stack (#861)
Stacked on #935 (PR 3).
Why retarget
The integration branch targeted Jakarta EE 10 / Spring 6.1. Spring 6.1's OSS support ended June 2025 and 6.2's ended June 2026; 7.0 is the only OSS-supported line, and it is built against Jakarta EE 11 (Servlet 6.1). EE 10 → EE 11 keeps the same
jakarta.*namespace, so none of the PR 2 rename changes.Changes
jakarta.servlet-api6.0.0 → 6.1.010.1-jre17-temurin→11.0-jre17-temurin(.env; Tomcat 11 implements Servlet 6.1 and needs Java 17, which we already build with)spring.versionpropertyspring-contextmoved totestscope — nothing insrc/mainimports Spring; it's only used forspring-test'sMock*servlet classes in 36 test filesjakarta.servlet.jsp.jstl-api3.0.0 → 3.0.2,angus-mail2.0.3 → 2.0.5docker/tomcat/serverxml.patchregenerated against Tomcat 11.0.27. The old one failed a hunk on Tomcat 11, which brokedocker compose build. The HTTPS connector now uses<SSLHostConfig>/<Certificate>instead of the legacy Connector keystore attributes.docker/tomcat/webxml.patchregenerated as an exact diff (GNUpatchpreviously needed fuzz 2 at a −4108-line offset).Dockerfileplaceholder substitution updated for the new attribute names.patch, and in a full Docker smoke test on Tomcat 11.0.27.Verification
LogoutITtemporarily removed in a scratch copy,mvn test-compileis clean andmvn test: 169 run, 0 failures, 2 skipped (same skips as before) on Temurin 17.Upgrading an existing Docker environment needs the
confvolume removed (documented in PR 8).Please merge with a merge commit (stack branches can't be force-pushed).
Refs #861
🤖 Generated with Claude Code