Skip to content

Upgrade to Java 21 and Spring Boot 3.4.1 LTS#11

Draft
Copilot wants to merge 5 commits intomainfrom
copilot/execute-modernization-plan-again
Draft

Upgrade to Java 21 and Spring Boot 3.4.1 LTS#11
Copilot wants to merge 5 commits intomainfrom
copilot/execute-modernization-plan-again

Conversation

Copy link

Copilot AI commented Feb 11, 2026

Executed modernization plan 002-upgrade-to-lts to bring the application to latest LTS versions.

Upgrades

  • Java: 1.8 → 21
    • Compiler source/target updated in pom.xml
    • Code modernized to Java 21 idioms via OpenRewrite
  • Spring Boot: 2.7.18 → 3.4.1
    • Spring Framework: 5.x → 6.x
    • Jakarta EE migration: javax.*jakarta.* namespace

Code Changes

Java 21 Modernization

// Before
if (!photoOpt.isPresent()) { ... }
String msg = String.format("Found %d photos", count);
Photo first = photos.get(0);

// After
if (photoOpt.isEmpty()) { ... }
String msg = "Found %d photos".formatted(count);
Photo first = photos.getFirst();

Jakarta EE Migration

// Before
import javax.persistence.*;
import javax.validation.constraints.*;

// After
import jakarta.persistence.*;
import jakarta.validation.constraints.*;

Dependencies

  • Oracle JDBC: 21.5.0.0 → 23.5.0.24.07
  • H2: 2.1.214 → 2.3.232
  • commons-io: 2.11.0 → 2.18.0 (fixes CVE-2024-47554)

Files Modified

  • pom.xml - Version bumps and dependency updates
  • Photo.java - Jakarta namespace migration
  • *Controller.java - Jakarta imports and Spring Boot 3 parameter binding
  • PhotoServiceImpl.java - Java 21 API usage
  • application-test.properties - H2 2.x compatibility

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • repository.apache.org
    • Triggering command: /usr/lib/jvm/temurin-8-jdk-amd64/bin/java /usr/lib/jvm/temurin-8-jdk-amd64/bin/java -classpath /usr/share/apache-maven-3.9.12/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.12/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.12 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.12/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/PhotoAlbum-Java/PhotoAlbum-Java org.codehaus.plexus.classworlds.launcher.Launcher -U org.openrewrite.maven:rewrite-maven-plugin:5.47.3:run --quiet (dns block)
    • Triggering command: /usr/lib/jvm/temurin-21-jdk-amd64/bin/java /usr/lib/jvm/temurin-21-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.12/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.12/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.12 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.12/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/PhotoAlbum-Java/PhotoAlbum-Java org.codehaus.plexus.classworlds.launcher.Launcher --quiet rewrite:run va/PhotoAlbum-J (dns block)
  • repository.jboss.org
    • Triggering command: /usr/lib/jvm/temurin-8-jdk-amd64/bin/java /usr/lib/jvm/temurin-8-jdk-amd64/bin/java -classpath /usr/share/apache-maven-3.9.12/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.12/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.12 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.12/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/PhotoAlbum-Java/PhotoAlbum-Java org.codehaus.plexus.classworlds.launcher.Launcher -U org.openrewrite.maven:rewrite-maven-plugin:5.47.3:run --quiet (dns block)
    • Triggering command: /usr/lib/jvm/temurin-21-jdk-amd64/bin/java /usr/lib/jvm/temurin-21-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.12/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.12/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.12 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.12/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/PhotoAlbum-Java/PhotoAlbum-Java org.codehaus.plexus.classworlds.launcher.Launcher --quiet rewrite:run va/PhotoAlbum-J (dns block)
  • repository.ow2.org
    • Triggering command: /usr/lib/jvm/temurin-8-jdk-amd64/bin/java /usr/lib/jvm/temurin-8-jdk-amd64/bin/java -classpath /usr/share/apache-maven-3.9.12/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.12/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.12 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.12/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/PhotoAlbum-Java/PhotoAlbum-Java org.codehaus.plexus.classworlds.launcher.Launcher -U org.openrewrite.maven:rewrite-maven-plugin:5.47.3:run --quiet (dns block)
    • Triggering command: /usr/lib/jvm/temurin-21-jdk-amd64/bin/java /usr/lib/jvm/temurin-21-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.12/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.12/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.12 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.12/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/PhotoAlbum-Java/PhotoAlbum-Java org.codehaus.plexus.classworlds.launcher.Launcher --quiet rewrite:run va/PhotoAlbum-J (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

Call skill execute-modernization-plan to Execute modernization plan

Using the below context

  • modernization-description: execute the upgrade plan
  • modernization-work-folder: .github\modernize\002-upgrade-to-lts

This pull request contains changes made by the Modernization Cloud Coding Agent.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI added 4 commits February 11, 2026 07:11
- Upgraded commons-io from 2.11.0 to 2.18.0 to address HIGH severity CVE-2024-47554
- Updated H2 test datasource URL to handle case sensitivity in H2 2.x with DATABASE_TO_LOWER and CASE_INSENSITIVE_IDENTIFIERS options
Copilot AI changed the title [WIP] Execute the upgrade plan for modernization Upgrade to Java 21 and Spring Boot 3.4.1 LTS Feb 11, 2026
Copilot AI requested a review from qianwens February 11, 2026 07:21
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.

2 participants