Skip to content

Conversation

@devin-ai-integration
Copy link

@devin-ai-integration devin-ai-integration bot commented Sep 22, 2025

Upgrade Java version from 17 to 21 LTS

Summary

This PR upgrades the Spring Boot banking application from Java 17 to Java 21 LTS across all components:

  • pom.xml: Updated java.version property from 17 to 21 and fixed Maven compiler plugin configuration (was incorrectly set to Java 1.8, now properly set to 21). Also upgraded maven-compiler-plugin from 3.8.0 to 3.11.0 for Java 21 support.
  • Dockerfile: Updated both builder image (maven:3.8.3-openjdk-21) and runtime image (openjdk:21-alpine)
  • README.md: Updated Jenkins installation documentation to use openjdk-21-jre

The changes maintain compatibility with Spring Boot 3.3.3 (which supports Java 21) and MySQL connector 8.0.33.

Review & Testing Checklist for Human

⚠️ High Priority - Unable to test locally due to Java 17 environment

  • Build verification: Compile the application with Java 21 using mvn clean compile to ensure no compilation errors
  • Docker build test: Run docker build . to verify both openjdk-21 images are available and build succeeds
  • Application startup: Build and run the application to ensure it starts without runtime errors related to Java 21
  • Basic functionality test: Verify core banking application features work (login, account operations, etc.)
  • Jenkins compatibility: Verify openjdk-21-jre package is available for Jenkins installation

Notes

  • Maven compiler plugin fix: The previous configuration targeted Java 1.8 which was inconsistent with the Java 17 property - this has been corrected to Java 21
  • No CI pipeline: Repository lacks automated testing, requiring manual verification of all changes
  • MySQL connector: Maven shows a relocation warning for mysql:mysql-connector-javacom.mysql:mysql-connector-j, but this is just packaging and doesn't affect Java 21 compatibility

Link to Devin run: https://app.devin.ai/sessions/dc04192d9ad643d0b1b6b44345264507
Requested by: @JRWu

- Update java.version property from 17 to 21 in pom.xml
- Fix Maven compiler plugin configuration from Java 1.8 to 21
- Update Docker builder image from maven:3.8.3-openjdk-17 to openjdk-21
- Update Docker runtime image from openjdk:17-alpine to openjdk:21-alpine
- Update Jenkins installation docs from openjdk-17-jre to openjdk-21-jre

Spring Boot 3.3.3 and MySQL connector 8.0.33 are compatible with Java 21.

Co-Authored-By: jia.wu@codeium.com <jia_wu@hotmail.ca>
@devin-ai-integration
Copy link
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

- Upgrade maven-compiler-plugin from 3.8.0 to 3.11.0
- Version 3.11.0 is required to support Java 21 compilation

Co-Authored-By: jia.wu@codeium.com <jia_wu@hotmail.ca>
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.

1 participant