Skip to content

Update build configuration for Java 21 and Spring Boot 3.2.0 upgrade#3

Open
devin-ai-integration[bot] wants to merge 3 commits into
masterfrom
devin/1761620146-java-21-spring-boot-3-config
Open

Update build configuration for Java 21 and Spring Boot 3.2.0 upgrade#3
devin-ai-integration[bot] wants to merge 3 commits into
masterfrom
devin/1761620146-java-21-spring-boot-3-config

Conversation

@devin-ai-integration
Copy link
Copy Markdown

Update build configuration for Java 21 and Spring Boot 3.2.0 upgrade

Summary

This PR updates the build configuration to target Java 21 and Spring Boot 3.2.0 as the first step in migrating from Java 11 to Java 21. This PR intentionally causes build failures - the expected javax.* import errors will guide the next phase of work (javax → jakarta namespace migration).

Configuration changes:

  • Spring Boot: 2.6.33.2.0
  • Java compatibility: 1121
  • MyBatis Spring Boot Starter: 2.2.23.0.3
  • Netflix DGS Framework: 4.9.218.1.1
  • JJWT: 0.11.20.12.5
  • Removed Joda-Time dependency (will migrate to java.time API in future PR)
  • Updated CI workflow to use Java 21

Review & Testing Checklist for Human

⚠️ Important: The build is expected to FAIL with javax.* import errors. This is correct and intentional.

  • Verify expected failure mode - CI should fail with javax.* package not found errors (e.g., javax.validation, javax.servlet), NOT with other compilation or dependency resolution errors
  • Check dependency versions - Confirm the upgraded versions (MyBatis 3.0.3, DGS 8.1.1, JJWT 0.12.5) are compatible with Spring Boot 3.2.0
  • Verify spring-boot-starter-validation - Confirm it's still explicitly declared (line 35 in build.gradle) as Spring Boot 3 no longer includes validation by default
  • Review Joda-Time removal - Confirm this aligns with your plan to migrate to java.time API in a subsequent PR
  • Test plan - After the javax → jakarta migration is complete, verify the application builds and runs successfully with ./gradlew bootRun, and that all tests pass

Notes

  • Local testing was not possible as the dev environment has Java 17 instead of Java 21
  • This is phase 1 of the migration; phase 2 will address the javax → jakarta namespace changes
  • The spring-boot-starter-validation dependency remains explicitly declared per Spring Boot 3 requirements

Link to Devin run: https://app.devin.ai/sessions/1118a6e1b56e4ad7970119a816ed7583
Requested by: Marcel Schwager (@marcelschwager-ux)

- Upgrade Spring Boot from 2.6.3 to 3.2.0
- Update Java source and target compatibility from 11 to 21
- Upgrade MyBatis Spring Boot Starter from 2.2.2 to 3.0.3
- Upgrade Netflix DGS Framework from 4.9.21 to 8.1.1
- Upgrade JJWT from 0.11.2 to 0.12.5
- Remove Joda-Time dependency (will migrate to java.time API later)
- Update CI workflow to use Java 21 instead of Java 11

This is the first step in the Java 11 to Java 21 migration.
Build will fail with javax.* import errors, which is expected and guides
the next phase (javax -> jakarta namespace migration).

Co-Authored-By: Marcel Schwager <marcel.schwager@codeium.com>
@devin-ai-integration
Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

devin-ai-integration Bot and others added 2 commits October 28, 2025 02:57
Co-Authored-By: Marcel Schwager <marcel.schwager@codeium.com>
Co-Authored-By: Marcel Schwager <marcel.schwager@codeium.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants