Skip to content

DANIELLA - Migrate configuration files from Java 8 to Java 11#7

Open
devin-ai-integration[bot] wants to merge 1 commit into
masterfrom
daniella/migrate-java11
Open

DANIELLA - Migrate configuration files from Java 8 to Java 11#7
devin-ai-integration[bot] wants to merge 1 commit into
masterfrom
daniella/migrate-java11

Conversation

@devin-ai-integration
Copy link
Copy Markdown

Summary

Migrates all build and IDE configuration files from Java 8 to Java 11. This also required upgrading Spring Boot (2.0.2 → 2.7.18), Gradle (4.6 → 7.6.4), and Maven wrapper (3.3.9 → 3.6.3) to versions that support Java 11.

Build configs:

  • pom.xml: java.version 1.8→11, Spring Boot parent 2.0.2→2.7.18, added maven-compiler-plugin
  • build.gradle: sourceCompatibility/targetCompatibility 1.8→11, Spring Boot plugin 2.0.2→2.7.18, modernized compileimplementation syntax (required by Gradle 7), added spring-boot-starter-jdbc and h2 deps (were in pom.xml but missing from Gradle)
  • gradle-wrapper.properties: Gradle 4.6→7.6.4
  • maven-wrapper.properties: Maven 3.3.9→3.6.3

IDE files: .idea/compiler.xml, .idea/misc.xml, gs-spring-boot.iml — JDK level 1.8→11

Other: README updated, gradlew/mvnw made executable.

Only Gradle compileJava was verified to pass. The app was not boot-tested at runtime.

Review & Testing Checklist for Human

  • Boot the app and smoke-test endpoints. The Spring Boot 2.0→2.7 jump is significant (~4 years of releases). Runtime behavior may change due to different auto-configuration defaults, removed/deprecated features, or transitive dependency upgrades. Run ./gradlew bootRun and hit the key endpoints (GET /, GET /topic, GET /datetime).
  • Verify the two new Gradle dependencies are acceptable. spring-boot-starter-jdbc and h2 were added to build.gradle to fix a pre-existing compilation failure (they were already in pom.xml but missing from Gradle). This is a functional change beyond pure config migration.
  • Decide if <packaging>pom</packaging> in pom.xml is intentional. This causes Maven to skip Java compilation entirely, meaning the Maven build path is untested. If Maven is meant to produce a runnable jar, this should be jar.
  • Review the maven-compiler-plugin config — it sets <source>, <target>, and <release> simultaneously, which is redundant. <release>11</release> alone is sufficient.
  • Note gs-spring-boot.iml references stale library versions (Spring 5.0.6, Tomcat 8.5.31, etc. from the old Maven resolution). These won't match actual resolved versions after the upgrade — re-import the project in IntelliJ to refresh.

Recommended test plan: ./gradlew bootRun, then via curl or Postman hit GET /topic, POST /topic, GET /datetime to confirm the app serves correctly under Java 11 with the new Spring Boot version.

Notes

  • The spring-boot-properties-migrator dependency (already in pom.xml) will log warnings at startup for any deprecated property usage — check those logs during testing.
  • The bootJar { baseName = ... } syntax in build.gradle is deprecated in Gradle 7 (replaced by archiveBaseName). It still works but will emit a deprecation warning.

Link to Devin session: https://app.devin.ai/sessions/4bdaef5e802f465fbb24c2e3baf90d60
Requested by: @danigrim

- pom.xml: Update java.version to 11, Spring Boot to 2.7.18, add maven-compiler-plugin with release 11
- build.gradle: Update sourceCompatibility/targetCompatibility to 11, Spring Boot plugin to 2.7.18, migrate compile/testCompile to implementation/testImplementation, add missing jdbc and h2 dependencies
- gradle-wrapper.properties: Upgrade Gradle from 4.6 to 7.6.4 (required by Spring Boot 2.7.x)
- maven-wrapper.properties: Upgrade Maven from 3.3.9 to 3.6.3
- gs-spring-boot.iml: Update LANGUAGE_LEVEL to JDK_11
- .idea/misc.xml: Update languageLevel and project-jdk-name to 11
- .idea/compiler.xml: Update bytecode target to 11
- README.md: Update title and prerequisites to reflect Java 11
- gradlew/mvnw: Set executable permissions

Co-Authored-By: Daniella Grimberg <daniella@cognition.ai>
@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

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