Developers modernizing Java applications often need to upgrade the Java Development Kit (JDK), update frameworks, align dependencies, or migrate older stacks such as Java EE. GitHub Copilot app modernization dramatically speeds up this process by analyzing your project, identifying upgrade blockers, and generating targeted changes.
This post highlights supported upgrade paths and what you can expect when using GitHub Copilot app modernization—optimized for search discoverability rather than deep tutorial content.
For complete, authoritative guidance, refer to the official Microsoft Learn quickstart.
Supported Upgrade Scenarios
GitHub Copilot app modernization supports upgrading:
- Java Development Kit (JDK) to versions 8, 11, 17, 21, or 25
- Spring Boot up to 3.5
- Spring Framework up to 6.2+
- Java EE → Jakarta EE (up to Jakarta EE 10)
- JUnit
- Third‑party dependencies to specified versions
- Ant → Maven build migrations
For the full capabilities list, see the Microsoft Learn quickstart.
Prerequisites (VS Code or IntelliJ)
To use GitHub Copilot app modernization, you’ll need:
GitHub account + GitHub Copilot
- Free Tier, Pro, Pro+, Business, or Enterprise
Visual Studio Code
- Version 1.101+
- GitHub Copilot extension
- GitHub Copilot app modernization extension
- Restart after installation
IntelliJ IDEA
- Version 2023.3+
- GitHub Copilot plugin 1.5.59+
- Restart after installation
- Recommended: Auto‑approve MCP Tool Annotations under Tools > GitHub
Project Requirements
- Java project using Maven or Gradle
- Git‑managed
- Maven access to public Maven Central (if Maven)
- Gradle wrapper version 5+
- Kotlin DSL supported
- VS Code setting: “Tools enabled” set to true if controlled by your org
Selecting a Java Project to Upgrade
Open any Java project in:
- Visual Studio Code
- IntelliJ IDEA
Optional sample projects:
- Maven: uportal‑messaging
- Gradle: docraptor‑java
Once open, launch GitHub Copilot app modernization using Agent Mode.
Running an Upgrade (Example: Java 8 → Java 21)
Open GitHub Copilot Chat → Switch to Agent Mode → Run a prompt such as:
Upgrade this project to Java 21
You’ll receive:
- Upgrade Plan
- JDK version updates
- Build file changes (Maven/Gradle)
- Dependency version adjustments
- Framework upgrade paths, if relevant
- Automated Transformations
GitHub Copilot app modernization applies changes using OpenRewrite‑based transformations.
- Dynamic Build / Fix Loop
The agent iterates:
- Build
- Detect failure
- Fix
- Retry
Until the project builds successfully.
- Security & Behavior Checks
- Detects CVEs in upgraded dependencies
- Flags potential behavior changes
- Offers optional fixes
- Final Upgrade Summary
Generated as a markdown file containing:
- Updated JDK level
- Dependencies changed
- Code edits made
- Any remaining CVEs or warnings
What You Can Expect in a JDK Upgrade
Typical outcomes from upgrading Java 8 → Java 21:
- Updated build configuration (maven.compiler.release → 21)
- Removal or replacement of deprecated JDK APIs
- Updated library versions for Java 21 compatibility
- Surface warnings for manual review
- Successfully building project with modern JDK settings
GitHub Copilot app modernization accelerates these updates while still leaving space for developer review of runtime or architectural changes.
Learn More
For the complete, authoritative upgrade workflow—covering setup, capabilities, and the full end‑to‑end process—visit:
➡ Quickstart: Upgrade a Java project with GitHub Copilot app modernization (Microsoft Learn)
Install GitHub Copilot app modernization for VS Code and IntelliJ IDEA